X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2FCron%2Fbackup.pm;h=65d7acb0b402c3dc5a76813743c483a35582ecfe;hp=a192ca90e360a31a6e66949bcd6675a5de1cb3b4;hb=57bb423fe457ba4e13726877f53bcdf944f828f8;hpb=15a4e1674694b76ecc2af87de479aabe370ac03d diff --git a/FS/FS/Cron/backup.pm b/FS/FS/Cron/backup.pm index a192ca90e..65d7acb0b 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_log_and_die($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_log_and_die($filename, $scp->{errstr}); } unlink "/var/tmp/$database.$ext" or backup_log_and_die($filename,$!); #or just warn?