From: Andrew DeFaria Date: Tue, 16 Mar 2021 01:19:58 +0000 (-0700) Subject: Standardized to create logfiles anew instead of append. X-Git-Url: https://defaria.com/gitweb/?a=commitdiff_plain;h=89be03cdf0fd811112da15b47d710f7bc3a00e74;p=clearscm.git Standardized to create logfiles anew instead of append. --- diff --git a/bin/announceEmail.pl b/bin/announceEmail.pl index 07cb6db..2826ed3 100755 --- a/bin/announceEmail.pl +++ b/bin/announceEmail.pl @@ -31,23 +31,28 @@ $Date: 2019/04/04 13:40:10 $ =head1 SYNOPSIS - Usage: announceEmail.pl [-usa|ge] [-h|elp] [-v|erbose] [-de|bug] [-da|emon] + Usage: announceEmail.pl [-usa|ge] [-h|elp] [-v|erbose] [-de|bug] [-use|rname ] [-p|assword ] - [-i|map ] + [-an|nouce] [-ap|pend] [-da|emon] [-n|name ] + [-uses|sl] [-useb|locking] Where: - -usa|ge: Print this usage - -h|elp: Detailed help - -v|erbose: Verbose mode (Default: -verbose) - -de|bug: Turn on debugging (Default: Off) - -da|emon: Run in daemon mode (Default: -daemon) - -user|name: User name to log in with (Default: $USER) - -p|assword: Password to use (Default: prompted) - -n|ame: Name of account (Default: imap) - -i|map: IMAP server to talk to (Default: defaria.com) - -uses|sl: Whether or not to use SSL to connect (Default: False) + -usa|ge Print this usage + -h|elp Detailed help + -v|erbose Verbose mode (Default: -verbose) + -de|bug Turn on debugging (Default: Off) + + -user|name User name to log in with (Default: $USER) + -p|assword Password to use (Default: prompted) + -i|map IMAP server to talk to (Default: defaria.com) + + -an|nounce Announce startup (Default: False) + -ap|pend Append to logfile (Default: Noappend) + -da|emon Run in daemon mode (Default: -daemon) + -n|ame Name of account (Default: imap) + -uses|sl Whether or not to use SSL to connect (Default: False) -useb|locking Whether to block on socket (Default: False) - -a-nnounce Announce startup (Default: False) =head1 DESCRIPTION @@ -104,9 +109,6 @@ my %opts = ( username => $ENV{USER}, password => $ENV{PASSWORD}, imap => $defaultIMAPServer, - usessl => 0, - useblocking => 0, - announce => 0, ); sub interrupted { @@ -155,18 +157,21 @@ sub Connect2IMAP() { sub MonitorMail() { MONITORMAIL: + $log->dbug("Top of MonitorMail loop"); # First close and reselect the INBOX to get its current status $IMAP->close; $IMAP->select('INBOX') or $log->err("Unable to select INBOX - ". $IMAP->errstr(), 1); + $log->dbug("Closed and reselected INBOX"); # Go through all of the unseen messages and add them to %unseen if they were # not there already from a prior run and read my %newUnseen = unseenMsgs; # Now clean out any messages in %unseen that were not in the %newUnseen and # marked as previously read + $log->dbug("Cleaning out unseen"); for (keys %unseen) { if (defined $newUnseen{$_}) { if ($unseen{$_}) { @@ -177,6 +182,7 @@ sub MonitorMail() { } # if } # for + $log->dbug("Processing new unseen messages"); for (keys %newUnseen) { next if $unseen{$_}; @@ -208,7 +214,9 @@ sub MonitorMail() { # Only announce if after 6 Am. Note this will announce up until # midnight but that's ok. I want midnight to 6 Am as silent time. + $log->dbug("About to speak/log"); if ($hour >= 7) { + $log->dbug("Calling speak"); speak $msg, $log; $log->msg($logmsg); } else { @@ -218,16 +226,21 @@ sub MonitorMail() { $unseen{$_} = 1; } # for + # Let's time things + my $startTime = time; + # Re-establish callback + $log->dbug("Evaling idle"); eval { $IMAP->idle(\&MonitorMail) }; # If we return from idle then the server went away for some reason. With Gmail # the server seems to time out around 30-40 minutes. Here we simply reconnect # to the imap server and continue to MonitorMail. - $log->dbug("MonitorMail: Connection to $opts{imap} ended. Reconnecting"); + $log->dbug("MonitorMail: Connection to $opts{imap} ended - lasted " + . howlong $startTime); # Destroy current IMAP connection - $log->dbug("MonitorMail: Destorying IMAP connection to $opts{imap}"); + $log->dbug("MonitorMail: Destroying IMAP connection to $opts{imap}"); undef $IMAP; @@ -272,6 +285,7 @@ GetOptions( 'usessl', 'useblocking', 'announce!', + 'append', ) || pod2usage; unless ($opts{password}) { @@ -287,15 +301,16 @@ if ($opts{username} =~ /.*\@(.*)$/) { if ($opts{daemon}) { # Perl complains if we reference $DB::OUT only once - my $foo = $DB::OUT; - EnterDaemonMode unless defined $DB::OUT; + no warnings; + EnterDaemonMode unless defined $DB::OUT or get_debug; + use warnings; } # if $log = Logger->new( path => '/var/local/log', name => "$Logger::me.$opts{name}", timestamped => 'yes', - append => 'yes', + append => $opts{append}, ); Connect2IMAP; diff --git a/bin/cleantmp.pl b/bin/cleantmp.pl index c7b1b19..4b42cbe 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 @@ -80,6 +82,7 @@ my %opts = ( 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/local/log', @@ -161,13 +164,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"); @@ -186,7 +195,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; diff --git a/bin/tunnel.pl b/bin/tunnel.pl index 775eaf2..9472e88 100755 --- a/bin/tunnel.pl +++ b/bin/tunnel.pl @@ -30,22 +30,22 @@ $Date: $ =head1 SYNOPSIS - Usage: tunnel.pl [-u|sage] [-h|elp] [-ve|rbose] [-d|ebug] - - Where: - - -u|sage: Displays this usage - -h|elp: Display full help - -ve|rbose: Be verbose - -d|ebug: Output debug messages - -host1: First host for tunnel (Default: localhost) - -port1: Port for host1 - -host2: Second host for tunnel (Default: defaria.com) - -port2: Port for host2 - -a|nnounce: Whether to announce startup (Default false) - -maxtretries: Maximum number of retry attempt to reestablish tunnel - (Default 3) - -nodaemon: Whether to go into daemon mode (Default: Daemon mode) + Usage: tunnel.pl [-u|sage] [-h|elp] [-ve|rbose] [-d|ebug] + + Where: + -u|sage: Displays this usage + -h|elp: Display full help + -ve|rbose: Be verbose + -d|ebug: Output debug messages + -host1: First host for tunnel (Default: localhost) + -port1: Port for host1 + -host2: Second host for tunnel (Default: defaria.com) + -port2: Port for host2 + -a|nnounce: Whether to announce startup (Default false) + -ap|pend Append to logfile (Default: Noappend) + -maxtretries: Maximum number of retry attempt to reestablish tunnel + (Default 3) + -nodaemon: Whether to go into daemon mode (Default: Daemon mode) =head1 DESCRIPTION @@ -180,6 +180,7 @@ GetOptions ( 'announce!', 'maxretries=i', 'daemon!', + 'append', ) || Usage; # Turn off daemon mode if we are in the Perl debugger; @@ -191,13 +192,18 @@ $log = Logger->new( path => '/var/local/log', name => "$Logger::me", timestamped => 'yes', - append => 'yes', + append => $opts{append}, ); $log->msg("$FindBin::Script v$VERSION"); $SIG{INT} = $SIG{TERM} = \&interrupt; -EnterDaemonMode if $opts{daemon}; +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 tunnel;