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