#!/bin/bash # # Copy a site backup between servers. # # Load. source $APP_BASE/lib/hydra/functions || exit 1 hydra_config_load # 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. 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/