diff options
author | ivan <ivan> | 2009-12-29 01:30:09 +0000 |
---|---|---|
committer | ivan <ivan> | 2009-12-29 01:30:09 +0000 |
commit | 65f5beea6aaa52a92aceab6bce324f28d7ad2cad (patch) | |
tree | 9c0dee784cb6e6ff8211913dc4c8fe017b74bbfa /bin/del-old-history | |
parent | c5f947898b0220efadbcbd9eab71033dfcaa7bbe (diff) |
some random utils for disk space analysis and eliminating old history records, RT#6914
Diffstat (limited to 'bin/del-old-history')
-rwxr-xr-x | bin/del-old-history | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/bin/del-old-history b/bin/del-old-history new file mode 100755 index 000000000..5c9412acf --- /dev/null +++ b/bin/del-old-history @@ -0,0 +1,30 @@ +#!/usr/bin/perl -w + +use strict; +use FS::UID qw(adminsuidsetup dbh); +use FS::Record; #why is this necessary + +#WARNING: not all tables are safe to remove history! +# these are, and seem to take the most space in a typical install with queued +# exports +my @tables = qw( h_queue h_queue_arg ); + +my $years = 2; +my $seconds = $years * 31556926; #60*60*24*365.2422 is close enough +my $before = int( time - $seconds ); + +adminsuidsetup shift or die "usage: del-old-history user\n"; + +foreach my $table ( @tables ) { + + unless ( $table =~ /^h_/ ) { + warn "$table is not a history table, skipping\n"; + next; + } + + my $sql = "DELETE FROM $table WHERE history_date < $before"; + warn "$sql\n"; + my $sth = dbh->prepare($sql) or die dbh->errstr; + $sth->execute or die $sth->errstr; + +} |