X-Git-Url: https://defaria.com/gitweb/?a=blobdiff_plain;f=bin%2Fcleantmp.pl;h=12898a9c96eda1cbf436da9d94d60990655c1278;hb=88c9cb9f6ed80dd31981b083593b1746695083b9;hp=79c567a89d900cf095bc01195d0800f43c0e73cf;hpb=3226ce71cef10280e3827ac4429cc882f1ebac37;p=clearscm.git diff --git a/bin/cleantmp.pl b/bin/cleantmp.pl index 79c567a..12898a9 100755 --- a/bin/cleantmp.pl +++ b/bin/cleantmp.pl @@ -46,6 +46,8 @@ $Date: $ -c|onf : Config file holding patterns to match (Default: .../etc/cleantmp.conf) -l|ogpath : Path to logfile (Default: /var/log) + -a|ppend: Append to logfile (Default: Noappend) + -da|emon Run in daemon mode (Default: -daemon) -s|leep : How many seconds to sleep between polls (Default: 60) =head1 DESCRIPTION @@ -75,14 +77,17 @@ use Utils; my ($script) = ($FindBin::Script =~ /^(.*)\.pl/); my $log; +local $0 = $script; + my %opts = ( usage => sub { pod2usage }, help => sub { pod2usage(-verbose => 2)}, verbose => sub { set_verbose }, debug => sub { set_debug }, + daemon => 1, tmp => File::Spec->tmpdir(), conf => "$FindBin::Bin/../etc/$script.conf", - logpath => '/var/log', + logpath => '/var/local/log', sleep => 60, ); @@ -144,7 +149,6 @@ sub FileCreated { } # if } # if - last; } # if } # for @@ -153,6 +157,8 @@ sub FileCreated { return; } # FileCreated +$SIG{USR1} = \&FileCreated; + ## Main GetOptions ( \%opts, @@ -160,13 +166,19 @@ GetOptions ( 'help', 'verbose', 'debug', + 'daemon!', 'tmp=s', 'logpath=s', 'conf=s', - 'sleep=i' + 'sleep=i', + 'append', ) or pod2usage; -$log = Logger->new(path => $opts{logpath}, timestamped => 1); +$log = Logger->new( + path => $opts{logpath}, + timestamped => 1, + append => $opts{append}, +); $log->msg("Starting $FindBin::Script"); @@ -185,7 +197,12 @@ $monitor->watch({ set_debug if $DB::OUT; -EnterDaemonMode unless $DB::OUT or get_debug; +if ($opts{daemon}) { + # Perl complains if we reference $DB::OUT only once + no warnings; + EnterDaemonMode unless defined $DB::OUT or get_debug; + use warnings; +} # if while () { $monitor->scan;