HEX
Server: Apache
System: Linux vps-cdc32557.vps.ovh.ca 5.15.0-156-generic #166-Ubuntu SMP Sat Aug 9 00:02:46 UTC 2025 x86_64
User: hanode (1017)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //usr/share/webmin/cron/range.pl
#!/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) };
}