Fixed some bugs and sorted out SIGHUPping
This commit is contained in:
parent
b42b19774b
commit
40d1d3efb4
18
pscrot
18
pscrot
|
@ -17,7 +17,7 @@ use POE::Component::DirWatch;
|
||||||
use POSIX;
|
use POSIX;
|
||||||
|
|
||||||
my $ME = "pscrot";
|
my $ME = "pscrot";
|
||||||
my $VERSION = "0.3";
|
my $VERSION = "0.4.1";
|
||||||
my $HOSTNAME = `hostname`; chomp $HOSTNAME;
|
my $HOSTNAME = `hostname`; chomp $HOSTNAME;
|
||||||
|
|
||||||
# Configuration
|
# Configuration
|
||||||
|
@ -25,8 +25,8 @@ my $homedir = $ENV{"HOME"};
|
||||||
my $tmpdir = "$homedir/.tmp/";
|
my $tmpdir = "$homedir/.tmp/";
|
||||||
my $outbox_path = "$homedir/outbox/";
|
my $outbox_path = "$homedir/outbox/";
|
||||||
|
|
||||||
my $dropbox_path = "$homedir/Dropbox/Camera Uploads/";
|
|
||||||
my $desktop_path = "$homedir/Desktop/";
|
my $desktop_path = "$homedir/Desktop/";
|
||||||
|
my $dropbox_path = "$homedir/Dropbox/Camera Uploads/";
|
||||||
|
|
||||||
my %regexp = (
|
my %regexp = (
|
||||||
screenshot => qr/(?:^|\/)Screen Shot ([0-9\-]+) at ([0-9\.]+)\.png$/,
|
screenshot => qr/(?:^|\/)Screen Shot ([0-9\-]+) at ([0-9\.]+)\.png$/,
|
||||||
|
@ -34,11 +34,11 @@ my %regexp = (
|
||||||
);
|
);
|
||||||
my %server = (
|
my %server = (
|
||||||
address => "your.server.address",
|
address => "your.server.address",
|
||||||
path => "/path/to/your/www/files",
|
path => "/path/to/your/www",
|
||||||
domain => "your.domain",
|
domain => "your.domain",
|
||||||
);
|
);
|
||||||
my %sshopts = (
|
my %sshopts = (
|
||||||
user => getpwuid($<),
|
user => scalar getpwuid($<),
|
||||||
key_path => "$homedir/.ssh/id_rsa",
|
key_path => "$homedir/.ssh/id_rsa",
|
||||||
port => 22,
|
port => 22,
|
||||||
);
|
);
|
||||||
|
@ -46,10 +46,12 @@ my %sshopts = (
|
||||||
my $filename_generic = "%Y-%m-%d %H.%M.%S";
|
my $filename_generic = "%Y-%m-%d %H.%M.%S";
|
||||||
|
|
||||||
my $LOGFILE = "$homedir/.$ME.log";
|
my $LOGFILE = "$homedir/.$ME.log";
|
||||||
|
my $ERRFILE = "$homedir/.$ME.err";
|
||||||
my $PIDFILE = "$homedir/.$ME.pid";
|
my $PIDFILE = "$homedir/.$ME.pid";
|
||||||
|
|
||||||
my $retries = 0; # set to -1 to disable upload retrying
|
my $retries = 0; # set to -1 to disable upload retrying
|
||||||
my $running = 0;
|
my $running = 0;
|
||||||
|
my $sighup = 0;
|
||||||
|
|
||||||
# Functions
|
# Functions
|
||||||
sub mac_notify {
|
sub mac_notify {
|
||||||
|
@ -63,12 +65,14 @@ sub sigtrap {
|
||||||
}
|
}
|
||||||
sub sighup {
|
sub sighup {
|
||||||
logger(2, "Caught SIGHUP: Restarting..");
|
logger(2, "Caught SIGHUP: Restarting..");
|
||||||
$running = -1;
|
$running = 0;
|
||||||
|
$sighup = 1;
|
||||||
}
|
}
|
||||||
sub logger {
|
sub logger {
|
||||||
my $pri = shift;
|
my $pri = shift;
|
||||||
my $msg = shift;
|
my $msg = shift;
|
||||||
print time2str('%e %B %T', time)." $HOSTNAME $ME\[$$] ($pri): $msg\n";
|
print time2str('%e %B %T', time)." $HOSTNAME $ME\[$$] ($pri): $msg\n";
|
||||||
|
print STDERR time2str('%e %B %T', time)." $HOSTNAME $ME\[$$] ($pri): $msg\n" if $pri =~ /^[29]$/;
|
||||||
mac_notify($ME,$msg) if $pri == 3;
|
mac_notify($ME,$msg) if $pri == 3;
|
||||||
exit 0 if $pri == 8;
|
exit 0 if $pri == 8;
|
||||||
exit 1 if $pri == 9;
|
exit 1 if $pri == 9;
|
||||||
|
@ -122,7 +126,7 @@ sub found_file {
|
||||||
# Main
|
# Main
|
||||||
POE::Kernel->run();
|
POE::Kernel->run();
|
||||||
open(STDOUT, ">>$LOGFILE");
|
open(STDOUT, ">>$LOGFILE");
|
||||||
open(STDERR, ">>$LOGFILE");
|
open(STDERR, ">>$ERRFILE");
|
||||||
select((select(STDOUT), $|=1)[0]);
|
select((select(STDOUT), $|=1)[0]);
|
||||||
#TODO check $PIDFILE for previously started process, SIGHUP it to restart and then quit
|
#TODO check $PIDFILE for previously started process, SIGHUP it to restart and then quit
|
||||||
logger(1,"Starting $ME..");
|
logger(1,"Starting $ME..");
|
||||||
|
@ -156,5 +160,5 @@ POE::Session->create(
|
||||||
);
|
);
|
||||||
logger(1, "$ME version $VERSION started.");
|
logger(1, "$ME version $VERSION started.");
|
||||||
POE::Kernel->run_while(\$running);
|
POE::Kernel->run_while(\$running);
|
||||||
logger(8,"Halting $ME..") unless $running==-1;
|
logger($sighup? 1 : 8,"Halting $ME..");
|
||||||
exec $^X, $0, @ARGV;
|
exec $^X, $0, @ARGV;
|
||||||
|
|
Loading…
Reference in New Issue