X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=backup%2Ffull;h=0608e6095234da93eb529759efe88942c339bdb8;hb=49b87b31128ab8bf32998d60eeacfe397a5a4b19;hp=d3efa171894b752bb047f55049af0b6a47c3f7bb;hpb=3f7f507605d77ece782e847a5a1606197268f220;p=chiark-utils.git diff --git a/backup/full b/backup/full index d3efa17..0608e60 100755 --- a/backup/full +++ b/backup/full @@ -14,6 +14,7 @@ system 'checkallused'; $? and die $?; printdate(); unlink 'TAPEID'; +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"; @@ -42,6 +43,13 @@ if (open L, "last-tape") { die "Tape $tapeid same as last time.\n" if $tapeid eq $lasttape; +if (defined($tapedesc= readlink "$etc/tape.$tapeid")) { + $tapedesc =~ s/^.*\.//; + $tapedesc .= "($tapeid)"; +} else { + $tapedesc = $tapeid; +} + undef $fsys; open D, "$etc/tape.$tapeid" or die "Unknown tape $tapeid ($!).\n"; for (;;) { @@ -66,21 +74,18 @@ if ($incremental) { if defined($next) || defined($fsys); print STDERR "Incremental tape $tapeid.\n\n"; setstatus "FAILED during incremental startup"; - exec "increm $tapeid"; + exec "increm",$tapeid,$tapedesc; die $!; } readfsys("$fsys"); openlog(); -$doing= "dump of $fsys to tape $tapeid in drive $tape"; +$doing= "dump of $fsys to tape $tapedesc in drive $tape"; print LOG "$doing:\n" or die $!; -system "mt -f $tape rewind"; $? and die $?; -system "mt -f $tape retension"; $? and die $?; - open T, ">TAPEID" or die $!; -print T "$tapeid\n" or die $!; +print T "$tapeid\n$tapedesc\n" or die $!; close T or die $!; system "tar -b$blocksize -vvcf TAPEID.tar TAPEID"; $? and die $?; @@ -162,5 +167,5 @@ rename 'increm-advance.new',"increm-advance" or die $!; print "$doing completed.\nNext dump tape is $next.\n" or die $!; -setstatus "Successful ($tapeid $fsys, next $next)"; +setstatus "Successful: $tapedesc $fsys, next $next"; exit 0;