--- a/bin/ftbackup Mon Aug 01 13:43:28 2011 +0200
+++ b/bin/ftbackup Mon Aug 01 14:11:04 2011 +0200
@@ -34,11 +34,9 @@
});
my $HOSTNAME = hostname;
-my $NOW = time();
my $opt_level = undef;
-my $opt_today = strftime("%F", localtime $NOW);
my $opt_debug = 0;
my $opt_verbose = 0;
my $opt_dry = 0;
@@ -75,8 +73,9 @@
KEEP => "7d",
);
-ALWAYS "START";
-END { ALWAYS "STOP" }
+my $started;
+END { ALWAYS "STOP" if $started; }
+
MAIN: {
@@ -98,6 +97,10 @@
"D|dumpdates=s" => \$opt_dumpdates,
) or pod2usage;
+ $started = time;
+
+ ALWAYS "START";
+
my %cf = (%CONFIG, get_configs(@CONFIGS));
$cf{FTP_DIR} =~ s/<HOSTNAME>/$HOSTNAME/g;
$cf{FTP_DIR} =~ s/<LABEL>/$opt_label/g;
@@ -211,15 +214,15 @@
$dev->{level} = 0;
WARN "adjusted backup level to 0, last full backup missing\n";
}
- elsif (($NOW - $last[0]) > ($cf{FULL_CYCLE} * 86_400)) {
+ elsif (($^T - $last[0]) > ($cf{FULL_CYCLE} * 86_400)) {
$dev->{level} = 0;
WARN sprintf
"adjusted backup level to 0, last full backup is %.1f days old\n",
- ($NOW - $last[0]) / 86_400;
+ ($^T - $last[0]) / 86_400;
}
}
- my $file = strftime("%FT%R.$dev->{level}", localtime $NOW);
+ my $file = strftime("%FT%RZ.$dev->{level}", gmtime $^T);
my $label = basename($dev->{rdev});
verbose
"> $dev->{dev} ($dev->{rdev}\@$dev->{mountpoint}) to @{[$ftp->pwd]}/$file\n";
@@ -272,7 +275,7 @@
if test -t 1; then
cat <<___
HOSTNAME : $HOSTNAME
-DATE : $NOW @{[scalar localtime $NOW]}
+DATE : $^T @{[scalar localtime $^T]}
LEVEL : $dev->{level}
DEVICE : $dev->{dev}
REAL_DEVICE: $dev->{rdev}
@@ -599,7 +602,7 @@
foreach my $dev (@devs) {
if (!$dev->{last}
or not $dev->{last}[0]
- or $NOW - $dev->{last}[0] > ($cycle * 86_400))
+ or $^T - $dev->{last}[0] > ($cycle * 86_400))
{
$dev->{level} = 0;
}