#!/bin/rc fn usage { echo 'usage: repl/sync [-lr12n] repl1 repl2 [dir...]' >[1=2] exit usage} doscan=yesopt=()while(! ~ $#* 0 && ~ $1 -*){ switch($1){ case -N doscan=no case * opt=($opt $1) } shift}if(~ $1 --) shiftif (~ $#1 0 || ~ $#2 0) usage if (test -x $1) . $1if not if (test -x $home/lib/repl/$1) . $home/lib/repl/$1 if not { if (test -x /lib/repl/$1) . /lib/repl/$1 if not { echo 'no such replica: '^$1 >[1=2] exit bad1 } }db1=$dbdir1=$dir if (test -x $2) . $2if not if (test -x $home/lib/repl/$2) . $home/lib/repl/$2 if not { if (test -x /lib/repl/$2) . /lib/repl/$2 if not { echo 'no such replica: '^$2 >[1=2] exit bad2 } }db2=$dbdir2=$dir if (~ $doscan yes){ echo scanning $1 if (! repl/scandb $excl $dir1 $db1){ echo scan failed for $1 >[1=2] exit scan1 } echo scanning $2 if (! repl/scandb $excl $dir2 $db2){ echo scan failed for $2 >[1=2] exit scan2 }} shift ; shift echo syncingrepl/syncdb -v $opt $dir1 $dir2 $db1 $db2 $* exit ''
#!/bin/rc
fn usage {
echo 'usage: repl/sync [-lr12n] repl1 repl2 [dir...]' >[1=2]
exit usage
}
doscan=yes
opt=()
while(! ~ $#* 0 && ~ $1 -*){
switch($1){
case -N
doscan=no
case *
opt=($opt $1)
}
shift
}
if(~ $1 --)
shift
if (~ $#1 0 || ~ $#2 0)
usage
if (test -x $1)
. $1
if not
if (test -x $home/lib/repl/$1)
. $home/lib/repl/$1
if not {
if (test -x /lib/repl/$1)
. /lib/repl/$1
if not {
echo 'no such replica: '^$1 >[1=2]
exit bad1
}
}
db1=$db
dir1=$dir
if (test -x $2)
. $2
if not
if (test -x $home/lib/repl/$2)
. $home/lib/repl/$2
if not {
if (test -x /lib/repl/$2)
. /lib/repl/$2
if not {
echo 'no such replica: '^$2 >[1=2]
exit bad2
}
}
db2=$db
dir2=$dir
if (~ $doscan yes){
echo scanning $1
if (! repl/scandb $excl $dir1 $db1){
echo scan failed for $1 >[1=2]
exit scan1
}
echo scanning $2
if (! repl/scandb $excl $dir2 $db2){
echo scan failed for $2 >[1=2]
exit scan2
}
}
shift ; shift
echo syncing
repl/syncdb -v $opt $dir1 $dir2 $db1 $db2 $*
exit ''