X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;ds=sidebyside;f=backup%2Fbackuplib.pl;h=8be8bff2cd91a889349377283ed119e6bde9884b;hb=470ba2e9de232758429e7656cfecb18edffabbfa;hp=ba1c50be01467958ded1c00873c1753870c5466a;hpb=17fb3a3831ca812a3ad384f4eec3b977432facd9;p=chiark-utils.git diff --git a/backup/backuplib.pl b/backup/backuplib.pl index ba1c50b..8be8bff 100644 --- a/backup/backuplib.pl +++ b/backup/backuplib.pl @@ -51,6 +51,25 @@ sub startprocess ($$$) { exec $c; die "$c: $!"; } +sub readtapeid_raw () { + open T, ">>TAPEID" or die $!; close T; + unlink 'TAPEID' or die $!; + system "mt -f $tape rewind"; $? and die $?; + system "mt -f $tape setblk $blocksizebytes"; $? and die $?; + system "dd if=$tape bs=${blocksize}b count=10 ". + "| tar -b$blocksize -vvxf - TAPEID"; +} + +sub writetapeid ($) { + open T, ">TAPEID" or die $!; + print T "$_[0]\n" or die $!; + close T or die $!; + + system "tar -b$blocksize -vvcf TAPEID.tar TAPEID"; $? and die $?; + system "dd if=TAPEID.tar of=$ntape bs=${blocksize}b count=10"; + $? and die $?; +} + sub endprocesses () { while (keys %processes) { $p= waitpid(-1,0) or die "wait: $!";