diff options
Diffstat (limited to 'share/hydractl/backup-copy-site')
-rwxr-xr-x | share/hydractl/backup-copy-site | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/share/hydractl/backup-copy-site b/share/hydractl/backup-copy-site index d64ac7e..8eccecd 100755 --- a/share/hydractl/backup-copy-site +++ b/share/hydractl/backup-copy-site @@ -7,9 +7,33 @@ source $APP_BASE/lib/hydra/functions || exit 1 hydra_config_load -# TODO # Basic parameters. +SITES="/var/sites" +DEST="$1" +SITE="$2" +DATE="`date +%Y%m%d`" +ORIG="$SITES/backups/site/$SITE/`facter hostname`" + # Syntax check. +if [ -z "$SITE" ]; then + hydra_action_usage + exit 1 +fi + +# Ensure we have a recent local backup. +if [ ! -d "$ORIG/$DATE" ]; then + echo "Backup for $SITE at $DATE not found, creating one..." + hydractl site-backup $SITE +fi + # Parse server name and port. -# Check restore strategy. +SERVER="`echo $DEST | cut -d : -f 1`" +PORT="`echo $DEST | cut -d : -f 2`" + +# Ensure we have a port. +if [ -z "$PORT" ]; then + PORT="22" +fi + # Sync to remote destination. +rsync -av -e "ssh -p $PORT" $ORIG/ backups@$SERVER:/$ORIG/ |