X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=chiark-utils.git;a=blobdiff_plain;f=backup%2Fsnaprsync;h=3b4bfc7954af9345580ca8b3c7436069856f20cd;hp=780c68ebe73ad2fb0f0585ff1a3adc4d9a57da25;hb=330f3e99d272db13f5b392ce3243df2efa67138d;hpb=43243a5c7e4fd609b1a10b700b6bab322930eb71 diff --git a/backup/snaprsync b/backup/snaprsync index 780c68e..3b4bfc7 100755 --- a/backup/snaprsync +++ b/backup/snaprsync @@ -14,6 +14,7 @@ bwlimit= subdir=. rsyncopts= + sshopts= summer=summer set -e @@ -32,7 +33,7 @@ while true; do case "$name" in rhost|device|mountpoint|localarea);; localprevious|snapkind|rsharedir|retcdir|rvardir|bwlimit);; - subdir|rsyncopts|summer);; + subdir|rsyncopts|sshopts|summer);; *) badusage "unknown setting $name";; esac eval "$name=\$value" @@ -54,13 +55,13 @@ done datefmt='%Y-%m-%d %H:%M:%S Z' rsync="rsync ${bwlimit:+--bwlimit} $bwlimit" -export RSYNC_RSH='ssh -o compression=no' +export RSYNC_RSH="ssh -o compression=no $sshopts" sshpfx='PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin; export PATH; ' -ssh $rhost "$sshpfx date -u '+$rhost $datefmt start'" -ssh $rhost "$sshpfx id" -ssh $rhost "$sshpfx ls -d $rsharedir" -ssh $rhost "$sshpfx ls -d $rvardir" +ssh $sshopts $rhost "$sshpfx date -u '+$rhost $datefmt start'" +ssh $sshopts $rhost "$sshpfx id" +ssh $sshopts $rhost "$sshpfx ls -d $rsharedir" +ssh $sshopts $rhost "$sshpfx ls -d $rvardir" test -d $localarea || x mkdir $localarea ournode=`uname -n` @@ -75,16 +76,16 @@ td=`mktemp -td` mkfifo -m 600 $td/sentinel exec 4<>$td/sentinel -x ssh $rhost "$sshpfx $rsharedir/snap-drop" -ssh $rhost " +x ssh $sshopts $rhost "$sshpfx $rsharedir/snap-drop" +ssh $sshopts $rhost " $sshpfx set -e cd $rvardir echo '$retcdir/snap/$snapkind drop $rvardir' >snap-drop.new mv snap-drop.new snap-drop " -x ssh $rhost "$sshpfx $retcdir/snap/$snapkind snap $rvardir $device $mountpoint" -ssh $rhost <$td/sentinel 4<&- " +x ssh $sshopts $rhost "$sshpfx $retcdir/snap/$snapkind snap $rvardir $device $mountpoint" +ssh $sshopts $rhost <$td/sentinel 4<&- " $sshpfx set -e date -u '+$rhost $datefmt main' @@ -113,7 +114,7 @@ exec 3>&- xwait rsum exec 4<&- date -u "+ $datefmt sumsdone" -x ssh $rhost "$sshpfx $rsharedir/snap-drop" +x ssh $sshopts $rhost "$sshpfx $rsharedir/snap-drop" if [ "x${localprevious}" != x ] && test -f "$localprevious,rsums"; then cp "$localprevious,rsums" "$localarea,rsums"