Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

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