chiark / gitweb /
fixes from testing on chiark
[chiark-utils.git] / backup / increm
index 57a037dc31cadce80345a60b3cc5395a24a6563e..945bb0e5dec5118b1e561be5a5f6fdb62b9da61a 100755 (executable)
@@ -88,6 +88,7 @@ setstatus "PROBLEMS during incremental dump";
 for $tf (@fsys) {
 
     parsefsys();
+    prepfsys();
     
     $bufir='DUMPOR';
     $ddcmd= "$nasty dd ibs=$softblocksizebytes obs=$blocksizebytes of=$ntape";
@@ -103,14 +104,16 @@ for $tf (@fsys) {
     }
 
     if ($tm eq 'dump') {
-       $dumpcmd= "dump 1bfu $softblocksizekb - $atf";
+       $dumplabel= $pcstr.$atf_print.'$';
+       $dumpcmd= "dump 1Lbfu $dumplabel $softblocksizekb - $atf";
+    } elsif ($tm eq 'gtar') {
+       $dumpcmd= "tar NCcfl $fsidfile $atf - .";
     } else {
-       print "Not dumping $atf ($prefix) - not \`dump'.\n" or die $!;
-       print LOG "Not dumping $atf ($prefix) - not \`dump'.\n" or die $!;
+       pboth("Not dumping $atf_print ($prefix) - not supported.\n");
        next;
     }
 
-    nexttapefile("inc $prefix:$atf");
+    nexttapefile("inc $prefix:$atf_print");
     
     # Same trick as full uses to do a pipeline whilst keeping track
     # of all exit statuses:
@@ -126,6 +129,8 @@ for $tf (@fsys) {
     # advance is a file counter, so it needs to be updated for each 
     # dump we do to tape.
     $advance++;
+
+    finfsys();
 }
 
 # Rewind the tape, and increment the counter of incremental backups.
@@ -135,8 +140,7 @@ print IAN "$advance\n" or die $!;
 close IAN or die $!;
 rename 'increm-advance.new','increm-advance' or die $!;
 
-print LOG "Next FULL dump tape is $next\n" or die $!;
-print "Next FULL dump tape is $next\n" or die $!;
+pboth("Next FULL dump tape is $next\n");
 
 setstatus "INCREMENTAL successful: $tapedesc, next full is $next";
 exit 0;