]> git.lizzy.rs Git - plan9front.git/blob - sys/lib/backup/tobackup
aux/cpuid: decode family and model bitfields
[plan9front.git] / sys / lib / backup / tobackup
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 }