15c4758afSDavid du Colombier#!/bin/rc 25c4758afSDavid du Colombier# backuparenas dev name ... - dump arena `name' from $fs to blu-ray disc. 35c4758afSDavid du Colombier# assumes $set is set. 45c4758afSDavid du Colombierrfork ne 55c4758afSDavid du Colombier# tunable variables 61c9e5a6cSDavid du Colombierfs=pie 75c4758afSDavid du Colombier 85c4758afSDavid du Colombierif (test -e /sys/lib/backup/funcs) 95c4758afSDavid du Colombier . /sys/lib/backup/funcs 105c4758afSDavid du Colombier 115c4758afSDavid du Colombierexits='' 125c4758afSDavid du Colombierfsroot=/n/$fs 135c4758afSDavid du Colombierif (! test -e $fsroot/!THIS_IS_^`{echo $fs | tr a-z A-Z}^_MAIN) { 145c4758afSDavid du Colombier import $fs / $fsroot || exit 155c4758afSDavid du Colombier} 165c4758afSDavid du Colombierunmount /mnt/cd >[2]/dev/null 175c4758afSDavid du Colombiercdfs -d $1 || exit 185c4758afSDavid du Colombiershift 195c4758afSDavid du Colombier 2081f927e7SDavid du Colombierdone=no 2109474398SDavid du Colombierecho -n figuring out disc type... 2281f927e7SDavid du Colombierfor (i in `{seq 1 20}) 2381f927e7SDavid du Colombier if (~ $done no) { 2409474398SDavid du Colombier m=`{ls -l /mnt/cd | grep bd-r-dl} 2509474398SDavid du Colombier if (~ $m '' ()) { 2609474398SDavid du Colombier echo -n . 2781f927e7SDavid du Colombier sleep 3 2809474398SDavid du Colombier } 2981f927e7SDavid du Colombier if not 3081f927e7SDavid du Colombier done=yes 3109474398SDavid du Colombier } 3209474398SDavid du Colombierecho 3309474398SDavid du Colombier 3409474398SDavid du Colombierls -l /mnt/cd 3591e577b2SDavid du Colombiergrep next /mnt/cd/ctl 3691e577b2SDavid du Colombierecho -n 'nwa ok? ' 3791e577b2SDavid du Colombierok=`{read} 3891e577b2SDavid du Colombierif (! ~ $ok [Yy]*) 3991e577b2SDavid du Colombier exit bad-nwa 4091e577b2SDavid du Colombier 415c4758afSDavid du Colombiercd $fsroot/dev/fs 42*f44e8c00SDavid du Colombiershname = `{basename $arenas} 43*f44e8c00SDavid du Colombierif (! test -r $shname){ 44*f44e8c00SDavid du Colombier echo $0: $shname in `{pwd} not readable >[1=2] 45*f44e8c00SDavid du Colombier exit unreadable-arenas 46*f44e8c00SDavid du Colombier} 47*f44e8c00SDavid du Colombier 485c4758afSDavid du Colombierfor (name) { 495c4758afSDavid du Colombier grep next /mnt/cd/ctl 5086abb9fbSDavid du Colombier # use -o 8192 to avoid devmnt fragmentation if bd drive is imported 51*f44e8c00SDavid du Colombier venti/rdarena $shname $name | 5286abb9fbSDavid du Colombier pump -i 65536 -o 8192 -k 100000 -d 5 >/mnt/cd/wd/$name 5386abb9fbSDavid du Colombier# pump -i 65536 -o 1048576 -k 51200 -d 10 >/mnt/cd/wd/$name 5491e577b2SDavid du Colombier quitonfailure $status 5591e577b2SDavid du Colombier 561c9e5a6cSDavid du Colombier# ls -l /mnt/cd 575c4758afSDavid du Colombier if (test -e '/env/fn#dumpdone' -a -e '/env/set') 58*f44e8c00SDavid du Colombier dumpdone $shname $name 595c4758afSDavid du Colombier} 605c4758afSDavid du Colombierecho 'remember to *not* remove /mnt/cd/wd' >[1=2] 615c4758afSDavid du Colombier# don't remove /mnt/cd/wd, since that would finalize the disc 625c4758afSDavid du Colombier# and bugger the permanent toc, at least on bd-r. 635c4758afSDavid du Colombierexit '' 64