X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FCron%2Fbackup.pm;h=dd09f570dc652182163cfc73e056bfd1f0e8c94b;hb=879ae94b7ed169d00f281d339c34dd003c23441a;hp=cfc8e3624d896fe3029a67a73a5e87e0e04cdb9e;hpb=e7c1b3f96941e30898bf0e8b4dd25abc1859757c;p=freeside.git diff --git a/FS/FS/Cron/backup.pm b/FS/FS/Cron/backup.pm index cfc8e3624..dd09f570d 100644 --- a/FS/FS/Cron/backup.pm +++ b/FS/FS/Cron/backup.pm @@ -25,7 +25,11 @@ sub backup { my $ext; if ( driver_name eq 'Pg' ) { - system("pg_dump -Fc $database >/var/tmp/$database.Pg"); + system('pg_dump -Fc '. join(' ', map { "--exclude-table-data $_" } + qw( h_cdr h_queue h_queue_arg sessions ) + ). + " $database >/var/tmp/$database.Pg" + ); $ext = 'Pg'; } elsif ( driver_name eq 'mysql' ) { system("mysqldump $database >/var/tmp/$database.sql"); @@ -58,7 +62,9 @@ sub backup { if ( $scpdest ) { eval "use Net::SCP qw(scp);"; backup_email_and_die($conf,$filename,$@) if $@; - scp("/var/tmp/$database.$ext", "$scpdest/$filename.$ext"); + my $scp = new Net::SCP; + $scp->scp("/var/tmp/$database.$ext", "$scpdest/$filename.$ext") + or backup_email_and_die($conf, $filename, $scp->{errstr}); } unlink "/var/tmp/$database.$ext" or backup_email_and_die($conf,$filename,$!); #or just warn?