#!/bin/bash # # sync a removable volume with system backups. # NODE="$1" MEDIA="/media/usb" BWLIMIT="2500" IMAGES="/var/data/crypt/" RSYNC="nice -n 19 rsync -avH --delete --bwlimit=$BWLIMIT" if [ ! -z "$NODE" ]; then # Get full node hostname. NODE_HOSTNAME="`cat /var/vservers/$NODE/etc/hostname`" if [ -z "$NODE_HOSTNAME" ]; then NODE_HOSTNAME="$NODE" fi # Sync local encrypted backup. mkdir -p /$MEDIA/$NODE_HOSTNAME/duplicity $RSYNC /var/vservers/$NODE/var/backups/duplicity/ /$MEDIA/$NODE_HOSTNAME/duplicity/ # Sync remote backups. for node in `ls /var/vservers/$NODE/var/backups/remote/`; do mkdir -p /$MEDIA/$NODE_HOSTNAME/remote/$node $RSYNC /var/vservers/$NODE/var/backups/remote/$node/ /$MEDIA/$NODE_HOSTNAME/remote/$node/ done else # Sync local encrypted backup. mkdir -p /$MEDIA/$HOSTNAME/duplicity $RSYNC /var/backups/duplicity/ /$MEDIA/$HOSTNAME/duplicity/ # Sync remote backups. for node in `ls /var/backups/remote/`; do mkdir -p /$MEDIA/$HOSTNAME/remote/$node/ $RSYNC /var/backups/remote/$node/ /$MEDIA/$HOSTNAME/remote/$node/ done # Copy encrypted images. if [ -d "$IMAGES" ]; then for image in `find $IMAGES -type f`; do mkdir -p /$MEDIA/$HOSTNAME/images/`dirname $image` echo "Copying image to /$MEDIA/$HOSTNAME/images/`dirname $image`" cp $image /$MEDIA/$HOSTNAME/images/`dirname $image` done fi fi