#!/bin/rc # backuparenas dev name ... - dump arena `name' from $fs to blu-ray disc. # assumes $set is set. rfork ne # tunable variables fs=pie if (test -e /sys/lib/backup/funcs) . /sys/lib/backup/funcs exits='' fsroot=/n/$fs if (! test -e $fsroot/!THIS_IS_^`{echo $fs | tr a-z A-Z}^_MAIN) { import $fs / $fsroot || exit } unmount /mnt/cd >[2]/dev/null cdfs -d $1 || exit shift done=no echo -n figuring out disc type... for (i in `{seq 1 20}) if (~ $done no) { m=`{ls -l /mnt/cd | grep bd-r-dl} if (~ $m '' ()) { echo -n . sleep 3 } if not done=yes } echo ls -l /mnt/cd grep next /mnt/cd/ctl echo -n 'nwa ok? ' ok=`{read} if (! ~ $ok [Yy]*) exit bad-nwa cd $fsroot/dev/fs shname = `{basename $arenas} if (! test -r $shname){ echo $0: $shname in `{pwd} not readable >[1=2] exit unreadable-arenas } for (name) { grep next /mnt/cd/ctl # use -o 8192 to avoid devmnt fragmentation if bd drive is imported venti/rdarena $shname $name | pump -i 65536 -o 8192 -k 100000 -d 5 >/mnt/cd/wd/$name # pump -i 65536 -o 1048576 -k 51200 -d 10 >/mnt/cd/wd/$name quitonfailure $status # ls -l /mnt/cd if (test -e '/env/fn#dumpdone' -a -e '/env/set') dumpdone $shname $name } echo 'remember to *not* remove /mnt/cd/wd' >[1=2] # don't remove /mnt/cd/wd, since that would finalize the disc # and bugger the permanent toc, at least on bd-r. exit ''