mirror of
https://github.com/webmin/webmin.git
synced 2025-07-20 16:48:46 +00:00
35 lines
839 B
Perl
Executable File
35 lines
839 B
Perl
Executable File
#!/usr/local/bin/perl
|
|
# Wrapper to run a single function via webmin cron
|
|
|
|
$main::no_acl_check = 1;
|
|
$main::no_referers_check = 1;
|
|
$main::webmin_script_type = 'cron';
|
|
do './webmincron-lib.pl';
|
|
$cron = $ARGV[0];
|
|
|
|
# Build list of args
|
|
my @args;
|
|
for(my $i=0; defined($cron->{'arg'.$i}); $i++) {
|
|
push(@args, $cron->{'arg'.$i});
|
|
}
|
|
|
|
# Force webmin script type to be cron
|
|
$main::webmin_script_type = 'cron';
|
|
$main::webmin_script_webmincron = $cron->{'module'}."::".$cron->{'func'};
|
|
|
|
# Require the module, call the function
|
|
eval {
|
|
local $main::error_must_die = 1;
|
|
&foreign_require($cron->{'module'}, $cron->{'file'});
|
|
&foreign_call($cron->{'module'}, $cron->{'func'}, @args);
|
|
};
|
|
$log = { %$cron };
|
|
if ($@) {
|
|
$log->{'error'} = $@;
|
|
}
|
|
|
|
# Log it, if enabled
|
|
if ($gconfig{'logsched'}) {
|
|
&webmin_log("run", "webmincron", $cron->{'id'}, $log);
|
|
}
|