chiark / gitweb /
@@ -1,8 +1,9 @@
[chiark-utils.git] / backup / backuplib.pl
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;