1 package FS::Cron::backup;
4 use vars qw( @ISA @EXPORT_OK );
6 use FS::UID qw(driver_name datasrc);
9 @EXPORT_OK = qw( backup_scp );
12 my $conf = new FS::Conf;
13 my $dest = $conf->config('dump-scpdest');
15 datasrc =~ /dbname=([\w\.]+)$/ or die "unparsable datasrc ". datasrc;
17 eval "use Net::SCP qw(scp);";
19 if ( driver_name eq 'Pg' ) {
20 system("pg_dump $database >/var/tmp/$database.sql")
22 die "database dumps not yet supported for ". driver_name;
24 if ( $conf->config('dump-pgpid') ) {
28 $gpg->encrypt( plaintext => "/var/tmp/$database.sql",
29 output => "/var/tmp/$database.gpg",
30 recipient => $conf->config('dump-pgpid'),
32 chmod 0600, '/var/tmp/$database.gpg';
33 scp("/var/tmp/$database.gpg", $dest);
34 unlink "/var/tmp/$database.gpg" or die $!;
36 chmod 0600, '/var/tmp/$database.sql';
37 scp("/var/tmp/$database.sql", $dest);
39 unlink "/var/tmp/$database.sql" or die $!;