use $^T for "now"
authorroot@weber.ctq.de
Mon, 01 Aug 2011 14:11:04 +0200
changeset 119 a1a962c17ef3
parent 118 a223c778af50
child 120 e3df82a62762
use $^T for "now"
bin/ftbackup
--- 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;
         }