47 lines · 913 B · Text
RawDownload
#!/bin/rc# tobackup [set] - print names of venti arenas needing to be dumped to disc setrfork e cd /sys/lib/backup. funcs switch ($#*) {case 0case 1	set=$1case *	echo usage: $0 '[set]' >[1=2]	exit usage} if (! test -d $set) {	echo $0: no backup set named $set in $backup >[1=2]	exit 'no backup set'}if (! hget -o index http://$fs/index) {	echo $0: 'can''t fetch venti index from' $fs >[1=2]	exit 'no venti index'}if (! test -s index) {	echo $0: 'empty venti index from' $fs >[1=2]	exit 'empty index'} cd $setawk '/^arena=/		{ name=$1 }	/ disk=sealed/	{ print name; name = "" }    ' ../index | sed 's/^arena=//' >nsealed>>sealedif (! cmp -s sealed nsealed)	cp nsealed sealedrm -f nsealedif (! test -s sealed)	exit '' >>fakeif (test -s ondisc)	comm -23 <{sort -u sealed fake} <{sort -u ondisc}if not {				# first sealed arenas, dump all	cat sealed	chmod +a ondisc >>ondisc}