show credit balance on invoices, #11564
[freeside.git] / FS / FS / Cron / backup.pm
index 204069a..3c0d63b 100644 (file)
@@ -3,6 +3,7 @@ package FS::Cron::backup;
 use strict;
 use vars qw( @ISA @EXPORT_OK );
 use Exporter;
+use Date::Format;
 use FS::UID qw(driver_name datasrc);
 
 @ISA = qw( Exporter );
@@ -12,12 +13,13 @@ sub backup_scp {
   my $conf = new FS::Conf;
   my $dest = $conf->config('dump-scpdest');
   if ( $dest ) {
+    $dest .= time2str('/%Y%m%d%H%M%S',time);
     datasrc =~ /dbname=([\w\.]+)$/ or die "unparsable datasrc ". datasrc;
     my $database = $1;
     eval "use Net::SCP qw(scp);";
     die $@ if $@;
     if ( driver_name eq 'Pg' ) {
-      system("pg_dump $database >/var/tmp/$database.sql")
+      system("pg_dump -Fc $database >/var/tmp/$database.Pg")
     } else {
       die "database dumps not yet supported for ". driver_name;
     }
@@ -25,18 +27,18 @@ sub backup_scp {
       eval 'use GnuPG;';
       die $@ if $@;
       my $gpg = new GnuPG;
-      $gpg->encrypt( plaintext => "/var/tmp/$database.sql",
+      $gpg->encrypt( plaintext => "/var/tmp/$database.Pg",
                      output    => "/var/tmp/$database.gpg",
                      recipient => $conf->config('dump-pgpid'),
                    );
       chmod 0600, '/var/tmp/$database.gpg';
-      scp("/var/tmp/$database.gpg", $dest);
+      scp("/var/tmp/$database.gpg", "$dest.gpg");
       unlink "/var/tmp/$database.gpg" or die $!;
     } else {
-      chmod 0600, '/var/tmp/$database.sql';
-      scp("/var/tmp/$database.sql", $dest);
+      chmod 0600, '/var/tmp/$database.Pg';
+      scp("/var/tmp/$database.Pg", "$dest.Pg");
     }
-    unlink "/var/tmp/$database.sql" or die $!;
+    unlink "/var/tmp/$database.Pg" or die $!;
   }
 }