xref: /plan9/sys/lib/backup/tobackup (revision 5c4758af3bd7470d8343bf59abb10a24c299f474)
1#!/bin/rc
2# tobackup [set] - print names of venti arenas needing to be dumped to disc set
3rfork e
4
5cd /sys/lib/backup
6. funcs
7
8switch ($#*) {
9case 0
10case 1
11	set=$1
12case *
13	echo usage: $0 '[set]' >[1=2]
14	exit usage
15}
16
17if (! test -d $set) {
18	echo $0: no backup set named $set in $backup >[1=2]
19	exit 'no backup set'
20}
21if (! hget -o index http://$fs/index) {
22	echo $0: 'can''t fetch venti index from' $fs >[1=2]
23	exit 'no venti index'
24}
25if (! test -s index) {
26	echo $0: 'empty venti index from' $fs >[1=2]
27	exit 'empty index'
28}
29
30cd $set
31awk '/^arena=/		{ name=$1 }
32	/ disk=sealed/	{ print name; name = "" }
33    ' ../index | sed 's/^arena=//' >nsealed
34>>sealed
35if (! cmp -s sealed nsealed)
36	cp nsealed sealed
37rm -f nsealed
38if (! test -s sealed)
39	exit ''
40
41>>fake
42if (test -s ondisc)
43	comm -23 <{sort -u sealed fake} <{sort -u ondisc}
44if not {				# first sealed arenas, dump all
45	cat sealed
46	chmod +a ondisc >>ondisc
47}
48