chiark / gitweb /
chiark-backup's snaprsync sedderies mountpoint out before sums diff.
[chiark-utils.git] / backup / increm
index 57a037dc31cadce80345a60b3cc5395a24a6563e..341cd993555db1fb897a330b0dc4fe4852180223 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";
@@ -102,15 +103,21 @@ for $tf (@fsys) {
        $ddcmd .= " conv=sync";
     }
 
+    if ($dopt{'noinc'}) {
+       pboth("Incrementals of $atf_print ($prefix) suppressed in config.\n");
+    }
+
     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 +133,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 +144,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;