123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- #!/bin/rc
- # funcs - rc functions and definitions common to dump scripts
- fn backupinit {
- if (! ~ $backupinitdone yes) {
- disc=1
- tracks=0
- # tunable parameters
- set=set1
- fs=pie
- arenas=/dev/sde0/arena0 # on $fs
- rdev=/dev/sdE1 # on terminal with bd burner
- blocksize=8192
- arenasize=1073741824 # twice the venti default, on yoshimi & pie
- # trackbytes=$arenasize
- # discbytes=`{ls -l $rdev/data | awk '{print $6}'}
- # ntracks=`{ hoc -e 'int('$discbytes/$trackbytes')' }
- ntracks=45 # for BD dual-layer
- backupinitdone=yes
- backups=/sys/lib/backup
- path=(/bin $backups .)
- }
- }
- # assume we're in $backups/$set
- fn updprog {
- echo 'disc='$disc 'tracks='$tracks >ndisc && mv ndisc disc
- }
- # assumes $set is set
- fn dumpdone { # arena-part arena-name
- @ {
- cd $backups/$set
- progress=yes
- tracks = `{hoc -e $tracks+1}
- updprog
- if (~ $debug yes)
- echo $2 >>fake # pretend these are sealed
- echo $2 >>ondisc
- }
- }
- fn quitonfailure { # exit-status
- if (! ~ $1 '' 0 '|')
- exit $1
- }
- # caller sets arenabase first
- fn arenastart { # arena#
- bytes = `{ echo $arenabase' + ('$1' * '$arenasize')' | bc }
- blocks = `{ echo $bytes' / '$blocksize | bc }
- echo $blocks
- }
- backupinit
|