bwlimit=
subdir=.
rsyncopts=
+ sshopts=
summer=summer
set -e
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"
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`
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'
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"