| Server IP : 127.0.0.1 / Your IP : 216.73.216.109 Web Server : Apache/2.4.54 (Win64) OpenSSL/1.1.1q PHP/8.1.10 System : Windows NT DESKTOP-E5T4RUN 10.0 build 19045 (Windows 10) AMD64 User : SERVERWEB ( 0) PHP Version : 8.1.10 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/cygwin64/home/SERVERWEB/webmin-2.105/cron/ |
Upload File : |
#!/usr/bin/perl
# Only runs the specified cron job if within the date range
# XXX support in usermin
use Time::Local;
# Parse args
($start, $end, @cmd) = @ARGV;
$start && $end && scalar(@cmd) || die "usage: range.pl dd-mm-yyyy dd-mm-yyyy command ...";
$stime = &parse_date($start);
$stime || die "Invalid start date $start";
$etime = &parse_date($end);
$etime || die "Invalid ending date $end";
# Check time range (inclusive)
$now = time();
if ($now < $stime || $now >= $etime+24*60*60) {
exit(0);
}
# Run the rest
exec("/bin/sh", "-c", join(" ", @cmd));
sub parse_date
{
($d, $m, $y) = split(/\-/, $_[0]);
$y =~ /^\d+$/ && $m =~ /^\d+$/ && $d =~ /^\d+$/ || return undef;
return eval { timelocal(0, 0, 0, $d, $m-1, $y-1900) };
}