chiark / gitweb /
@@ -1,8 +1,9 @@ debian_version_4_0_99_0_1
authorianmdlvl <ianmdlvl>
Sun, 21 Sep 2003 19:39:23 +0000 (19:39 +0000)
committerianmdlvl <ianmdlvl>
Sun, 21 Sep 2003 19:39:23 +0000 (19:39 +0000)
 chiark-utils (4.0.99.0.1) unstable; urgency=low

   * backup: new lvm/remount-ro snapshotting feature.
+  * backup: new gtar backup type

- --
+ -- Ian Jackson <ian@davenant.greenend.org.uk>  Sun, 21 Sep 2003 20:39:13 +0100

 chiark-utils (4.0.0) unstable; urgency=medium

backup/backuplib.pl
backup/full
backup/increm
backup/iwjbackup.txt
debian/changelog

index 1c6b64c4ceb62c4d59e5d869cdf264eea62cc08f..ddeb5bbb4bd9b9243b80c33403fdd0223d732f1b 100644 (file)
@@ -190,6 +190,11 @@ sub parsefsys () {
        die "fsys $tf ?";
     }
 
+    $fsidstr= $pcstr.$atf;
+    $fsidstr =~ s/[,+]/+$&/g;
+    $fsidstr =~ s#/#,#g;
+    $fsidfile= "/var/lib/chiark-backup/incstamp,$fsidstr";
+
     $dev = $atf =~ s,^(.*)\:,, ? $1 : '';
 
     undef %dopt;
@@ -219,12 +224,17 @@ sub parsefsys () {
     }
 }
 
+sub execute ($) {
+    pboth("  $_[0]\n");
+    system $_[0]; $? and die "$_[0] $?";
+}
+
 sub prepfsys () {
     if (length $dopt{'snap'}) {
        system('snap-drop'); $? and die $?;
        
        $snapscripts= '/etc/chiark-backup/snap';
-       $snapbase= "$pcstr $snapscripts/$dopt{'snap'} /var/lib/chiark-backup";
+       $snapbase= "$rstr $snapscripts/$dopt{'snap'} /var/lib/chiark-backup";
 
        $snapsnap= "$snapbase snap $dev $atf";
        $snapdrop= "$snapbase drop";
@@ -234,8 +244,7 @@ sub prepfsys () {
        close SD or die $!;
        rename "snap-drop.new","snap-drop" or die $!;
 
-       pboth("  $snapsnap\n");
-       system $snapsnap; $? and die $?;
+       execute($snapsnap);
 
        $dev_nosnap= $dev;
        $atf_nosnap= $atf;
index 9c603b9affbf80b9cd75b4f1b6cbbd557388d04e..d4e5fcacd226599b8881c9abc48d41b89b51ea15 100755 (executable)
@@ -222,6 +222,9 @@ for $tf (@fsys) {
         $dumpin = '<&FINDOR';
     } elsif ($tm eq 'ntfsimage') {
        $dumpcmd= "ntfsimage -svvf --dirty $dev";
+    } elsif ($tm eq 'gtar') {
+       execute("$rstr touch $fsidfile+new");
+       $dumpcmd= "tar Ccfl $atf - .";
     } else {
        die "unknown method $tm for $prefix:$atf\n";
     }
@@ -251,6 +254,10 @@ for $tf (@fsys) {
     $totalrecords += $1;
     pboth("total blocks written so far: $totalrecords\n");
 
+    if ($tm eq 'gtar') {
+       execute("$rstr mv -f $fsidfile+new $fsidfile");
+    }  
+    
     finfsys();
 }
 
index ac220957edb2d4f0d470fa4235514afae345b091..b50f50e8c9040d93475a1e8b8edcd455ca2f100a 100755 (executable)
@@ -105,9 +105,10 @@ for $tf (@fsys) {
 
     if ($tm eq 'dump') {
        $dumpcmd= "dump 1bfu $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 ($prefix) - not supported.\n");
        next;
     }
 
index 39000ee29c74221a4dfa55a15d3b3f14b7ae9a00..775e65aa2e2ffc44f2e48567a88a91cd579c9dbf 100644 (file)
@@ -64,12 +64,21 @@ In the fsys.* files:
 The file (including any included files) must end with the word 'end'
 on a line of its own.
 
-Valid values for <backup-type> are `cpio' (uses cpio to produce
-tar-format backups), `dump' (uses dump to dump entire filesystems;
-<directory name> should be a mount-point for this), `zafio' (uses afio
-to compress each file as it is backed up), and `ntfsimage' (for NTFS
-volumes, requires device name).  Only `dump' type backups perform
-incremental backups.
+Valid values for <backup-type> are
+  cpio
+    uses cpio to produce tar-format backups
+  dump
+    uses dump to dump entire filesystems
+    <directory name> should be a mount-point
+  gtar
+    uses GNU tar to produce GNU tar format backups and -N-based
+    semi-incrementals (not --incremental or --listed-incremental)
+  zafio
+    uses afio to compress each file as it is backed up
+  ntfsimage
+    for NTFS volumes, requires device name
+Only `dump' and `gtar' type backups perform any kind of incremental
+backups.
 
 <options> is a comma-separated list of <option> or <option>=<value>.
 Options supported:
index 4b4ca5c4acd096dfc51c40159c1eae2c9cca8635..9098e0f501f4d48918a0263d5cb82545bab687ca 100644 (file)
@@ -1,8 +1,9 @@
 chiark-utils (4.0.99.0.1) unstable; urgency=low
 
   * backup: new lvm/remount-ro snapshotting feature.
+  * backup: new gtar backup type
 
- --
+ -- Ian Jackson <ian@davenant.greenend.org.uk>  Sun, 21 Sep 2003 20:39:13 +0100
 
 chiark-utils (4.0.0) unstable; urgency=medium