# HG changeset patch # User Heiko Schlittermann (JUMPER) # Date 1312277186 -7200 # Node ID d268e962547594e156a2aec944b11f5303c49ed6 # Parent 6f6404fd706330e352ad92ffea0218395d6c06eb# Parent ed5b87c249a8b8287b38b71bda4ad2746d505b8d [merged] diff -r 6f6404fd7063 -r d268e9625475 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 /^(?.*)\.(?\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