123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- #!/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 ''
|