chiark
/
gitweb
/
~ian
/
chiark-utils.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixes from tests before big run
[chiark-utils.git]
/
backup
/
snaprsync
diff --git
a/backup/snaprsync
b/backup/snaprsync
index 3238f392c624af47c90ac11e315691264351a6e0..3e3391fb6ac6d3d7b933e7c8919ab25e044a4c4a 100755
(executable)
--- a/
backup/snaprsync
+++ b/
backup/snaprsync
@@
-1,7
+1,7
@@
#!/bin/bash
#
# usage: snaprsync <setting>... <positionals>
#!/bin/bash
#
# usage: snaprsync <setting>... <positionals>
-# <setting> is --
-
<name>=<value>
+# <setting> is --<name>=<value>
# <positionals> are assigned to unused mandatory values in order
# mandatory:
# rhost device mountpoint localarea
# <positionals> are assigned to unused mandatory values in order
# mandatory:
# rhost device mountpoint localarea
@@
-12,6
+12,7
@@
retcdir=/etc/chiark-backup
rvardir=/var/lib/chiark-backup
bwlimit=
retcdir=/etc/chiark-backup
rvardir=/var/lib/chiark-backup
bwlimit=
+ subdir=.
set -e
set -e
@@
-27,7
+28,8
@@
while true; do
value=${1#--*=}
case "$name" in
rhost|device|mountpoint|localarea);;
value=${1#--*=}
case "$name" in
rhost|device|mountpoint|localarea);;
- localprevious|rsharedir|retcdir|rvardir|bwlimit);;
+ localprevious|snapkind|rsharedir|retcdir|rvardir|bwlimit);;
+ subdir);;
*) badusage "unknown setting $name";;
esac
eval "$name=\$value"
*) badusage "unknown setting $name";;
esac
eval "$name=\$value"
@@
-71,6
+73,13
@@
mkfifo -m 600 $td/sentinel
exec 4<>$td/sentinel
x ssh $rhost "$sshpfx $rsharedir/snap-drop"
exec 4<>$td/sentinel
x ssh $rhost "$sshpfx $rsharedir/snap-drop"
+ssh $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<&- "
$sshpfx
x ssh $rhost "$sshpfx $retcdir/snap/$snapkind snap $rvardir $device $mountpoint"
ssh $rhost <$td/sentinel 4<&- "
$sshpfx
@@
-89,12
+98,12
@@
ssh $rhost <$td/sentinel 4<&- "
xspawned rsum
x $rsync -aHSxz --numeric-ids --delete \
${localprevious:+--link-dest} $localprevious \
xspawned rsum
x $rsync -aHSxz --numeric-ids --delete \
${localprevious:+--link-dest} $localprevious \
- $rhost:$rvardir/snap-mount/
.
$localarea/.
+ $rhost:$rvardir/snap-mount/
$subdir
$localarea/.
date -u "+ $datefmt rsyncdone"
exec 3>$localarea,lsums
(cd $localarea && \
date -u "+ $datefmt rsyncdone"
exec 3>$localarea,lsums
(cd $localarea && \
- $summer .) &
+ $summer .
>&3
) &
xspawned lsum
exec 3>&-
xspawned lsum
exec 3>&-