1#!/bin/bash 2 3ACTION="$1" 4LABEL="$2" 5ARG0="$3" 6ARG1="$4" 7 8FROM="/srv/lxc/${LABEL}" 9CLUSTERNAME=$(clustername) 10BACKUPHOST=$(backuphost) 11BACKUPMNT="/mnt/backup" 12BACKUPDECR="/decrement/${LABEL}" 13BACKUPMIRROR="rsync://$CLUSTERNAME@$BACKUPHOST/$HOSTNAME/mirror/${LABEL}" 14 15if [ "$CLSYNC_STATUS" = "initsync" ]; then 16 STATICEXCLUDE='' 17else 18 STATICEXCLUDE='--exclude-from=/etc/clsync/synchandler/lxc/rsync.exclude' 19fi 20 21function rsynclist() { 22 LISTFILE="$1" 23 EXCLISTFILE="$2" 24 25 excludefrom='' 26 if [ "$EXCLISTFILE" != "" ]; then 27 excludefrom="--exclude-from=${EXCLISTFILE}" 28 fi 29 30# if ! mount | grep "$BACKUPMNT" > /dev/null; then 31# mount "$BACKUPMNT" 32# fi 33 34# if mount | grep "$BACKUPMNT" > /dev/null; then 35 if ping -w 1 -qc 5 -i 0.1 $BACKUPHOST > /dev/null; then 36 #if [ ! -d "$BACKUPDECR" ]; then 37 # mkdir -p "$BACKUPDECR" 38 #fi 39 exec rsync --password-file="/etc/backup.pass" -aH --timeout=3600 --inplace --delete-before $STATICEXCLUDE "$excludefrom" --include-from="${LISTFILE}" --exclude='*' --backup --backup-dir="$BACKUPDECR"/ "$FROM"/ "$BACKUPMIRROR"/ 2>/tmp/clsync-rsync-"$LABEL"-backup.err 40 else 41 sleep $[ 3600 + $RANDOM % 1800 ] 42 return 128 43 fi 44# else 45# sleep $[ 3600 + $RANDOM % 1800 ] 46# return 128 47# fi 48} 49 50case "$ACTION" in 51 rsynclist) 52 rsynclist "$ARG0" "$ARG1" 53 ;; 54esac 55 56exit 0 57 58