X-Git-Url: https://defaria.com/gitweb/?a=blobdiff_plain;f=maps%2Fbin%2Fmapsscrub.pl;h=abf1d3173c7a953e8317615a3bd572d138df375d;hb=e8cee6beef75aab158bdd7c3a54682c9969c8fa1;hp=06ea1d7245977b596e6f5bbfee7aeb7bda7a2d4a;hpb=ae9e57b169de143d2b8a7c761c3bf7394385e0d0;p=clearscm.git diff --git a/maps/bin/mapsscrub.pl b/maps/bin/mapsscrub.pl index 06ea1d7..abf1d31 100755 --- a/maps/bin/mapsscrub.pl +++ b/maps/bin/mapsscrub.pl @@ -54,6 +54,7 @@ use Getopt::Long; use Pod::Usage; use DateUtils; +use Display; use Logger; use MAPS; use Utils; @@ -61,10 +62,12 @@ use Utils; my %opts = ( usage => sub { pod2usage }, help => sub { pod2usage (-verbose => 2)}, + verbose => sub { set_verbose }, + debug => sub { set_debug }, optimize => 1, ); -my ($userid, $log, %total); +my ($log, %total); sub CleanUp($) { my ($userid) = @_; @@ -73,14 +76,17 @@ sub CleanUp($) { my $timestamp = SubtractDays(Today2SQLDatetime, $options{History}); - $total{'Emails cleaned'} = CleanEmail $timestamp; - $total{'Log entries removed'} = CleanLog $timestamp; + $total{'Emails cleaned'} = CleanEmail $timestamp, $opts{dryrun}; + $total{'Log entries removed'} = CleanLog $timestamp, $opts{dryrun}; for (qw(white black null)) { - $total{"${_}list entries removed"} = CleanList( + my $listname = ucfirst($_) . 'list entries removed'; + + $total{$listname} = CleanList( userid => $userid, type => $_, log => $log, + dryrun => $opts{dryrun}, ); } # for @@ -98,6 +104,7 @@ GetOptions( 'debug', 'userid=s', 'optimize!', + 'dryrun', ) or pod2usage; $log = Logger->new( @@ -107,8 +114,6 @@ $log = Logger->new( FindUser(%opts{userid}); -#$~ = "REPORT" if $verbose; - while (my $rec = GetUser) { SetContext($rec->{userid}); @@ -116,6 +121,10 @@ while (my $rec = GetUser) { } # while # Now optimize the database -OptimizeDB if $opts{optimize}; +if ($opts{optimize}) { + OptimizeDB; + + $log->msg('Database optimized'); +} # if exit;