[merged]
authorHeiko Schlittermann (JUMPER) <hs@schlittermann.de>
Tue, 02 Aug 2011 11:26:26 +0200
changeset 133 d268e9625475
parent 132 6f6404fd7063 (current diff)
parent 127 ed5b87c249a8 (diff)
child 134 931980171664
[merged]
bin/ftbackup
--- a/bin/ftbackup	Mon Aug 01 16:30:12 2011 +0200
+++ b/bin/ftbackup	Tue Aug 02 11:26:26 2011 +0200
@@ -208,10 +208,11 @@
             foreach (reverse sort $ftp->ls) {
 		next if /\.tmp-\d+$/;
                 next if not /^(?<date>.*)\.(?<level>\d+)$/;
-		next if not $ftp->size(0) and str2time($+{date}) < $^T;
+		next if not $ftp->size($_) and str2time($+{date}) < $^T;
                 $last[$+{level}] = str2time $+{date};
             }
         }
+	### @last
 
     # for safety we check if there is really a full dump not older than xxx days
         if ($dev->{level} > 0) {
@@ -247,8 +248,8 @@
             LOGDIE "failed system command: $_\n" if $?;
 
             $dev->{cleanup} = sub {
-                system "lvdisplay $snap &>/dev/null"
-                  . " && lvremove -f $snap >/dev/null";
+                system "lvdisplay $snap >/dev/null 2>&1"
+                  . " && lvremove -f $snap >/dev/null 2>&1";
             };
             push @AT_EXIT, $dev->{cleanup};
 
@@ -307,7 +308,7 @@
 
 while read; do
     test "\$REPLY" = "#-- START" \\
-	&& exec openssl enc -d -blowfish "\$@"
+	&& exec openssl enc -d -aes-128-cbc "\$@"
 done <\$input
 exit
 #-- START
@@ -318,7 +319,7 @@
 
             exec
 "dump -$dev->{level} -L $label -f- -u -z$cf{COMPRESSION_LEVEL} -E $dev->{exclude}{inodes} $dev->{dump}"
-              . "| openssl enc -pass env:key -salt -blowfish";
+              . "| openssl enc -pass env:key -salt -aes-128-cbc";
             die "Can't exec dumper\n";
         };
 
@@ -518,7 +519,7 @@
     open(my $f, "+>>" => $file) or LOGDIE "Can't open $file: $!\n";
     seek($f, 0, 0);
     my $_ = join "", <$f>;
-    s/^$from\s/$to /mg;
+    s/^\Q$from\E\s/$to /mg;
     truncate($f, 0);
     print $f $_;
     close($f);
@@ -526,14 +527,19 @@
 
 sub real_device($) {
     my $dev = shift;
+    my $rdev;
 
     if ($dev ~~ /^(LABEL|UUID)=/) {
 
         # NOTE: dump is able to handle LABEL=... too, but I think
         # it's more easy for recovery to know the real device
-        chomp($dev = `blkid -c /dev/null -o device -t '$dev'`);
+        $rdev = `blkid -c /dev/null -o device -t '$dev'`;
     }
-    $dev = realpath($dev);
+    else {
+	$rdev = `blkid -c /dev/null -o device '$dev'`;
+    }
+    chomp $rdev if $rdev;
+    return $rdev;
 }
 
 sub devno($) {
@@ -819,7 +825,7 @@
 
 =item KEY
 
-The encryption key to use. (We use symmetric blowfish encryption currently.)
+The encryption key to use. (We use symmetric aes-128-cbc encryption currently.)
 
 =item FTP_HOST