Schedule-At
view release on metacpan or search on metacpan
sub AtCfg_hpux {
$AT{'add'} = 'at %TIME% 2> /dev/null';
$AT{'addFile'} = 'at -f %FILE% %TIME% 2> /dev/null';
$AT{'timeFormat'} = '%HOUR%:%MINS% %MONTH%/%DAY%/%YEAR%';
$AT{'remove'} = 'at -r %JOBID%';
$AT{'getJobs'} = 'at -l';
$AT{'headings'} = [];
$AT{'getCommand'} = '/usr/spool/cron/atjobs/%JOBID%';
$AT{'parseJobList'} = sub { $_[0] =~ /^(\S+)\s+(.*)$/ };
}
sub AtCfg_linux {
$AT{'add'} = 'at %TIME% 2> /dev/null';
$AT{'addFile'} = 'at -f %FILE% %TIME% 2> /dev/null';
$AT{'timeFormat'} = '%HOUR%:%MINS% %MONTH%/%DAY%/%YEAR%';
$AT{'remove'} = 'atrm %JOBID%';
$AT{'getJobs'} = 'atq';
$AT{'headings'} = ['Date'];
$AT{'getCommand'} = 'at -c %JOBID% |';
# 1 2003-01-18 15:30 a josear
# 10 Tue Jan 31 10:00:00 2012 a josear (debian)
$AT{'parseJobList'} = sub {
my @fields = split("\t", $_[0]);
my $date = substr($fields[1], 0,
($fields[1] =~ /^d/) ? 16 : 24);
($fields[0], $date)
};
}
sub AtCfg_aix {
$AT{'add'} = 'at -t %TIME% 2> /dev/null';
$AT{'addFile'} = 'at -f %FILE% %TIME% 2> /dev/null';
$AT{'timeFormat'} = '%YEAR%%MONTH%%DAY%%HOUR%%MINS%';
$AT{'remove'} = 'at -r %JOBID%';
$AT{'getJobs'} = 'at -l';
$AT{'headings'} = [];
# Only for privileged users (group system), so use alternate command
#$AT{'getCommand'} = '/usr/spool/cron/atjobs/%JOBID%';
$AT{'getCommand'} = 'at -lv %JOBID% |tail +4 |';
$AT{'parseJobList'} = sub { $_[0] =~ /^(\S+)\s+(.*)$/ };
}
sub AtCfg_dynixptx {
$AT{'add'} = 'at %TIME% 2> /dev/null';
$AT{'addFile'} = 'at -f %FILE% %TIME% 2> /dev/null';
$AT{'timeFormat'} = sub {
my ($year, $month, $day, $hour, $mins) = @_;
my @months = ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec');
"$hour:$mins " . $months[$month-1] . " $day, $year";
};
$AT{'remove'} = 'at -r %JOBID%';
$AT{'getJobs'} = 'at -l';
$AT{'headings'} = [];
$AT{'getCommand'} = '/usr/spool/cron/atjobs/%JOBID%';
$AT{'parseJobList'} = sub {
my $user = scalar getpwuid $<;
if ($user eq 'root') {
$_[0] =~ /^\s*\S+\s*\S+\s*\S+\s*(\S+)\s+(.*)$/
}
else {
$_[0] =~ /(\S+)\s+(.*)$/
}
};
}
sub AtCfg_freebsd {
$AT{'add'} = 'at %TIME% 2> /dev/null';
$AT{'addFile'} = 'at -f %FILE% %TIME% 2> /dev/null';
$AT{'timeFormat'} = sub {
my ($year, $month, $day, $hour, $mins) = @_;
my @months = ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec');
"$hour:$mins " . $months[$month-1] . " $day $year";
};
$AT{'remove'} = 'atrm %JOBID%';
$AT{'getJobs'} = 'at -l';
$AT{'headings'} = ['Date', 'Owner', 'Queue', 'Job'];
$AT{'getCommand'} = 'at -c %JOBID% | ';
$AT{'parseJobList'} = sub { $_[0] =~ s/^\s*(.+)\s+\S+\s+\S+\s+(\d+)$/$2_$1/; $_[0] =~ /^(.+)_(.+)$/ };
}
sub AtCfg_netbsd {
&AtCfg_freebsd;
}
sub AtCfg_dragonfly {
&AtCfg_freebsd;
}
sub AtCfg_openbsd {
&AtCfg_freebsd;
$AT{'headings'} = [];
$AT{'parseJobList'} = sub { $_[0] =~ /^.*(\d{10}.c)\s+(.*)$/ };
}
# Mac OS X (darwin, tiger)
sub AtCfg_darwin {
$AT{'add'} = 'at %TIME% 2> /dev/null';
$AT{'addFile'} = 'at -f %FILE% %TIME% 2> /dev/null';
$AT{'timeFormat'} = '%HOUR%:%MINS% %MONTH%/%DAY%/%YEAR%';
$AT{'remove'} = 'atrm %JOBID%';
$AT{'getJobs'} = 'atq';
$AT{'headings'} = ['Job','Date'];
$AT{'getCommand'} = 'at -c %JOBID% | ';
# 74 Wed Jan 18 15:32:00 2006
$AT{'parseJobList'} = sub {
my @fields = split("\t", $_[0]);
($fields[0], substr($fields[1], 0, 16))
};
}
( run in 0.920 second using v1.01-cache-2.11-cpan-22024b96cdf )