57 lines · 1.2 KB · Text
RawDownload
#!/bin/rc# funcs - rc functions and definitions common to dump scriptsfn 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/$setfn updprog {	echo 'disc='$disc 'tracks='$tracks >ndisc && mv ndisc disc} # assumes $set is setfn 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 firstfn arenastart {		# arena#	bytes =  `{ echo $arenabase' + ('$1' * '$arenasize')' | bc }	blocks = `{ echo $bytes' / '$blocksize | bc }	echo $blocks} backupinit