so Search.tsf and Search.rdf work
[freeside.git] / FS / bin / freeside-daily
index 99d95d5..75bbca7 100755 (executable)
@@ -5,7 +5,7 @@ use Fcntl qw(:flock);
 use Date::Parse;
 use Getopt::Std;
 use FS::UID qw(adminsuidsetup driver_name dbh datasrc);
-use FS::Record qw(qsearch qsearchs);
+use FS::Record qw(qsearch qsearchs dbdef);
 use FS::Conf;
 use FS::cust_main;
 
@@ -57,8 +57,8 @@ foreach $cust_main ( @cust_main ) {
 
 if ( driver_name eq 'Pg' ) {
   dbh->{AutoCommit} = 1; #so we can vacuum
-  foreach my $statement ( 'vacuum', 'vacuum analyze' ) {
-    my $sth = dbh->prepare($statement) or die dbh->errstr;
+  foreach my $table ( dbdef->tables ) {
+    my $sth = dbh->prepare("VACUUM ANALYZE $table") or die dbh->errstr;
     $sth->execute or die $sth->errstr;
   }
 }
@@ -81,9 +81,11 @@ if ( $dest ) {
                    output    => "/var/tmp/$database.gpg",
                    recipient => $conf->config('dump-pgpid'),
                  );
+    chmod 0600, '/var/tmp/$database.gpg';
     scp("/var/tmp/$database.gpg", $dest);
     unlink "/var/tmp/$database.gpg" or die $!;
   } else {
+    chmod 0600, '/var/tmp/$database.sql';
     scp("/var/tmp/$database.sql", $dest);
   }
   unlink "/var/tmp/$database.sql" or die $!;