diff -r f47d0026ab09 -r 91803f1e2741 exigrey.pl --- a/exigrey.pl Tue Jan 02 23:15:14 2007 +0000 +++ b/exigrey.pl Wed Jan 03 08:55:02 2007 +0000 @@ -67,54 +67,56 @@ } if ($opt_stats) { - my %h; - my $db = connectDB(\%h, shift || $DEFAULT{db}); + foreach ((@ARGV ? @ARGV : $DEFAULT{db})) { + my %h; + my $db = connectDB(\%h, $_); - my ($seen, $returned, $oldest); - $oldest = time(); - iterate(%h, sub { - my ($item, $v0, $v1, $dv) = @_; - ++$seen; - ++$returned if $dv; - $oldest = $v0 if $v0 < $oldest; - }); + my ($seen, $returned, $oldest); + $oldest = time(); + iterate(%h, sub { + my ($item, $v0, $v1, $dv) = @_; + ++$seen; + ++$returned if $dv; + $oldest = $v0 if $v0 < $oldest; + }); - $_ = <<__; - date: %s - db: $db (ls: %.1f MB / du: %.1f MB) - total: $seen -not returned: %d (%d%%) - oldest: %.1f days (%s) + $_ = <<__; + date: %s + db: $db (ls: %.1f MB / du: %.1f MB) + total: $seen + not returned: %d (%d%%) + oldest: %.1f days (%s) __ - printf $_, - scalar(localtime), - (-s $db) / (1024*1024), - ((stat $db)[12]*512)/(1024*1024), - $seen - $returned, - int(100 * ($seen-$returned)/$seen), - ((time - $oldest) / 86400), scalar(localtime $oldest); + printf $_, + scalar(localtime), + (-s $db) / (1024*1024), + ((stat $db)[12]*512)/(1024*1024), + $seen - $returned, + int(100 * ($seen-$returned)/$seen), + ((time - $oldest) / 86400), scalar(localtime $oldest); + print "\n" if @ARGV; + } exit 0; } if ($opt_clean) { - my %h; - my $days = shift; $days = 7 unless defined $days; - my $db = shift; $db = $DEFAULT{db} unless defined $db; - - my $cut = time() - ($days * 86400); - my $tmp = tmpfile(); + my $cut = time() - (86400 * (@ARGV ? shift : 7)); + foreach (@ARGV ? @ARGV : $DEFAULT{db}) { + my %h; + my $tmp = tmpfile(); + my $db = connectDB(\%h, $_); + iterate(%h, sub { + my ($item, $v0, $v1, $dv) = @_; + print $tmp $item if $v1 <= $cut; + }); - $db = connectDB(\%h, $db); - iterate(%h, sub { - my ($item, $v0, $v1, $dv) = @_; - print $tmp $item if $v1 <= $cut; - }); + seek($tmp, 0, 0) or die "Can't seek tmpfile"; + delete $h{$_} while <$tmp>; + close($tmp); - seek($tmp, 0, 0) or die "Can't seek tmpfile"; - delete $h{$_} while <$tmp>; - - print "$. items deleted\n"; + print "$. items deleted from $db\n"; + } exit 0; }