#!/usr/bin/perl # exec_cron.cgi # Execute an existing cron job, and display the output require './cron-lib.pl'; &ReadParse(); @jobs = &list_cron_jobs(); $job = $jobs[$in{'idx'}]; &can_edit_user(\%access, $job->{'user'}) || &error($text{'exec_ecannot'}); &foreign_require("proc", "proc-lib.pl"); # split command into command and input &convert_range($job); &convert_comment($job); $job->{'command'} =~ s/\\%/\0/g; @lines = split(/%/ , $job->{'command'}); foreach (@lines) { s/\0/%/g; } for($i=1; $i<@lines; $i++) { $input .= $lines[$i]."\n"; } if ($in{'bg'}) { &ui_print_header(undef, $text{'exec_title'}, ""); } else { &ui_print_unbuffered_header(undef, $text{'exec_title'}, ""); } &additional_log('exec', undef, $lines[0]); &webmin_log("exec", "cron", $job->{'user'}, $job); # Remove variables that wouldn't be in the 'real' cron &clean_environment(); # Set cron environment variables $ENV{'PATH'} = "/usr/bin:/bin"; foreach $e (&read_envs($job->{'user'})) { $ENV{$1} = $2 if ($e =~ /^(\S+)\s+(.*)$/); } if (&supports_users()) { # Get command and switch uid/gid @uinfo = getpwnam($job->{'user'}); $ENV{"HOME"} = $uinfo[7]; $ENV{"SHELL"} = "/bin/sh"; $ENV{"LOGNAME"} = $ENV{"USER"} = $job->{'user'}; &switch_to_unix_user(\@uinfo); } if ($in{'bg'}) { # Run in background print &text('exec_cmdbg', "<tt>".&html_escape($lines[0])."</tt>"),"<p>\n"; if (defined($input)) { local $temp = &tempname(); &open_tempfile(TEMP, ">$temp"); &print_tempfile(TEMP, $input); &close_tempfile(TEMP); &execute_command("(($lines[0]) ; rm -f $temp) &", $temp, undef, undef); } else { &execute_command("($lines[0]) &", undef, undef, undef); } } else { # Execute cron command and display output.. print &text('exec_cmd', "<tt>".&html_escape($lines[0])."</tt>"),"<p>\n"; print "<pre>"; $got = &foreign_call("proc", "safe_process_exec", $lines[0], 0, 0, STDOUT, $input, 1); print "<i>$text{'exec_none'}</i>\n" if (!$got); print "</pre>\n"; } &ui_print_footer("edit_cron.cgi?idx=$in{'idx'}", $text{'edit_return'}, "", $text{'index_return'});
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
help | Folder | 0755 |
|
|
images | Folder | 0755 |
|
|
lang | Folder | 0755 |
|
|
CHANGELOG | File | 3.06 KB | 0644 |
|
acl_security.pl | File | 2.7 KB | 0755 |
|
backup_config.pl | File | 1.06 KB | 0755 |
|
bootup.cgi | File | 364 B | 0755 |
|
cgi_args.pl | File | 406 B | 0755 |
|
config-aix | File | 506 B | 0644 |
|
config-cobalt-linux | File | 544 B | 0644 |
|
config-coherent-linux | File | 544 B | 0644 |
|
config-corel-linux | File | 562 B | 0644 |
|
config-debian-linux | File | 526 B | 0644 |
|
config-debian-linux-2.1-ALL | File | 580 B | 0644 |
|
config-freebsd | File | 497 B | 0644 |
|
config-generic-linux | File | 544 B | 0644 |
|
config-gentoo-linux | File | 553 B | 0644 |
|
config-hpux | File | 506 B | 0644 |
|
config-irix | File | 513 B | 0644 |
|
config-macos | File | 497 B | 0644 |
|
config-macos-9.2-ALL | File | 501 B | 0644 |
|
config-mandrake-linux | File | 544 B | 0644 |
|
config-msc-linux | File | 544 B | 0644 |
|
config-netbsd | File | 497 B | 0644 |
|
config-open-linux | File | 586 B | 0644 |
|
config-openSUSE-Linux-15.0-ALL | File | 541 B | 0644 |
|
config-openbsd | File | 497 B | 0644 |
|
config-openmamba-linux | File | 544 B | 0644 |
|
config-openserver | File | 497 B | 0644 |
|
config-osf1 | File | 523 B | 0644 |
|
config-pardus-linux | File | 525 B | 0644 |
|
config-redhat-linux | File | 560 B | 0644 |
|
config-slackware-linux | File | 450 B | 0644 |
|
config-sol-linux | File | 541 B | 0644 |
|
config-solaris | File | 484 B | 0644 |
|
config-solaris-11-ALL | File | 486 B | 0644 |
|
config-suse-linux | File | 523 B | 0644 |
|
config-suse-linux-7.0-8.0 | File | 529 B | 0644 |
|
config-suse-linux-8.2-ALL | File | 541 B | 0644 |
|
config-syno-linux | File | 293 B | 0644 |
|
config-trustix-linux | File | 554 B | 0644 |
|
config-turbo-linux | File | 544 B | 0644 |
|
config-united-linux | File | 541 B | 0644 |
|
config-unixware | File | 484 B | 0644 |
|
config-windows | File | 201 B | 0644 |
|
config.info | File | 1.51 KB | 0644 |
|
config.info.bg | File | 2.67 KB | 0644 |
|
config.info.ca | File | 1.76 KB | 0644 |
|
config.info.cs | File | 1.57 KB | 0644 |
|
config.info.de | File | 1.63 KB | 0644 |
|
config.info.es | File | 1.53 KB | 0644 |
|
config.info.fa | File | 1.98 KB | 0644 |
|
config.info.fr | File | 1.52 KB | 0644 |
|
config.info.fr.UTF-8 | File | 1.77 KB | 0644 |
|
config.info.hr | File | 0 B | 0644 |
|
config.info.hu | File | 1.59 KB | 0644 |
|
config.info.hu.UTF-8 | File | 1.87 KB | 0755 |
|
config.info.it | File | 1.34 KB | 0644 |
|
config.info.ja | File | 1.9 KB | 0644 |
|
config.info.ms | File | 1.54 KB | 0644 |
|
config.info.nl | File | 1.61 KB | 0644 |
|
config.info.no | File | 1.52 KB | 0644 |
|
config.info.pl | File | 1.73 KB | 0644 |
|
config.info.pt_BR | File | 1.69 KB | 0644 |
|
config.info.ru | File | 1.37 KB | 0644 |
|
config.info.sk | File | 0 B | 0644 |
|
config.info.sv | File | 792 B | 0644 |
|
config.info.tr | File | 1.02 KB | 0644 |
|
config.info.uk | File | 1.38 KB | 0644 |
|
config.info.zh | File | 687 B | 0644 |
|
config.info.zh_TW | File | 852 B | 0644 |
|
cron-lib.pl | File | 46.19 KB | 0755 |
|
cron_editor.pl | File | 599 B | 0755 |
|
defaultacl | File | 91 B | 0644 |
|
delete_cron.cgi | File | 409 B | 0755 |
|
delete_env.cgi | File | 399 B | 0755 |
|
delete_jobs.cgi | File | 1.11 KB | 0755 |
|
edit_allow.cgi | File | 1.01 KB | 0755 |
|
edit_cron.cgi | File | 4.09 KB | 0755 |
|
edit_env.cgi | File | 1.87 KB | 0755 |
|
edit_manual.cgi | File | 1015 B | 0755 |
|
exec_cron.cgi | File | 2.05 KB | 0755 |
|
feedback_files.pl | File | 319 B | 0755 |
|
index.cgi | File | 9 KB | 0755 |
|
install_check.pl | File | 393 B | 0755 |
|
kill_cron.cgi | File | 1.04 KB | 0755 |
|
log_parser.pl | File | 1.25 KB | 0755 |
|
module.info | File | 251 B | 0644 |
|
module.info.af | File | 0 B | 0644 |
|
module.info.af.auto | File | 98 B | 0644 |
|
module.info.ar | File | 0 B | 0644 |
|
module.info.ar.auto | File | 133 B | 0644 |
|
module.info.be | File | 0 B | 0644 |
|
module.info.be.auto | File | 162 B | 0644 |
|
module.info.bg | File | 0 B | 0644 |
|
module.info.bg.auto | File | 183 B | 0644 |
|
module.info.ca | File | 85 B | 0644 |
|
module.info.ca.auto | File | 23 B | 0644 |
|
module.info.cs | File | 36 B | 0644 |
|
module.info.cs.auto | File | 85 B | 0644 |
|
module.info.da | File | 0 B | 0644 |
|
module.info.da.auto | File | 93 B | 0644 |
|
module.info.de | File | 105 B | 0644 |
|
module.info.de.auto | File | 21 B | 0644 |
|
module.info.el | File | 0 B | 0644 |
|
module.info.el.auto | File | 203 B | 0644 |
|
module.info.es | File | 35 B | 0644 |
|
module.info.es.auto | File | 76 B | 0644 |
|
module.info.eu | File | 0 B | 0644 |
|
module.info.eu.auto | File | 111 B | 0644 |
|
module.info.fa | File | 0 B | 0644 |
|
module.info.fa.auto | File | 149 B | 0644 |
|
module.info.fi | File | 0 B | 0644 |
|
module.info.fi.auto | File | 109 B | 0644 |
|
module.info.fr | File | 21 B | 0644 |
|
module.info.fr.auto | File | 81 B | 0644 |
|
module.info.he | File | 0 B | 0644 |
|
module.info.he.auto | File | 133 B | 0644 |
|
module.info.hr | File | 0 B | 0644 |
|
module.info.hr.auto | File | 112 B | 0644 |
|
module.info.hu | File | 140 B | 0644 |
|
module.info.hu.UTF-8 | File | 131 B | 0644 |
|
module.info.hu.auto | File | 23 B | 0644 |
|
module.info.it | File | 32 B | 0644 |
|
module.info.it.auto | File | 74 B | 0644 |
|
module.info.ja | File | 44 B | 0644 |
|
module.info.ja.auto | File | 86 B | 0644 |
|
module.info.ko | File | 30 B | 0644 |
|
module.info.ko.auto | File | 91 B | 0644 |
|
module.info.lt | File | 0 B | 0644 |
|
module.info.lt.auto | File | 133 B | 0644 |
|
module.info.lv | File | 0 B | 0644 |
|
module.info.lv.auto | File | 122 B | 0644 |
|
module.info.ms | File | 75 B | 0644 |
|
module.info.ms.auto | File | 22 B | 0644 |
|
module.info.mt | File | 0 B | 0644 |
|
module.info.mt.auto | File | 114 B | 0644 |
|
module.info.nl | File | 28 B | 0644 |
|
module.info.nl.auto | File | 76 B | 0644 |
|
module.info.no | File | 34 B | 0644 |
|
module.info.no.auto | File | 72 B | 0644 |
|
module.info.pl | File | 82 B | 0644 |
|
module.info.pl.auto | File | 23 B | 0644 |
|
module.info.pt | File | 33 B | 0644 |
|
module.info.pt.auto | File | 70 B | 0644 |
|
module.info.pt_BR | File | 0 B | 0644 |
|
module.info.pt_BR.auto | File | 112 B | 0644 |
|
module.info.ro | File | 0 B | 0644 |
|
module.info.ro.auto | File | 111 B | 0644 |
|
module.info.ru | File | 0 B | 0644 |
|
module.info.ru.auto | File | 170 B | 0644 |
|
module.info.sk | File | 36 B | 0644 |
|
module.info.sk.auto | File | 97 B | 0644 |
|
module.info.sl | File | 0 B | 0644 |
|
module.info.sl.auto | File | 111 B | 0644 |
|
module.info.sv | File | 29 B | 0644 |
|
module.info.sv.auto | File | 72 B | 0644 |
|
module.info.th | File | 0 B | 0644 |
|
module.info.th.auto | File | 156 B | 0644 |
|
module.info.tr | File | 49 B | 0644 |
|
module.info.tr.auto | File | 84 B | 0644 |
|
module.info.uk | File | 0 B | 0644 |
|
module.info.uk.auto | File | 171 B | 0644 |
|
module.info.ur | File | 0 B | 0644 |
|
module.info.ur.auto | File | 172 B | 0644 |
|
module.info.vi | File | 0 B | 0644 |
|
module.info.vi.auto | File | 143 B | 0644 |
|
module.info.zh | File | 28 B | 0644 |
|
module.info.zh.auto | File | 69 B | 0644 |
|
module.info.zh_TW | File | 37 B | 0644 |
|
module.info.zh_TW.auto | File | 75 B | 0644 |
|
move.cgi | File | 1.17 KB | 0755 |
|
negativeacl | File | 7 B | 0644 |
|
postinstall.pl | File | 429 B | 0755 |
|
prefs.info | File | 58 B | 0644 |
|
range.pl | File | 737 B | 0755 |
|
rbac-mapping | File | 118 B | 0644 |
|
safeacl | File | 66 B | 0644 |
|
save_allow.cgi | File | 556 B | 0755 |
|
save_cron.cgi | File | 2.81 KB | 0755 |
|
save_env.cgi | File | 1.95 KB | 0755 |
|
save_manual.cgi | File | 594 B | 0755 |
|
start.cgi | File | 308 B | 0755 |
|
stop.cgi | File | 303 B | 0755 |
|
uninstall.pl | File | 411 B | 0755 |
|
useradmin_update.pl | File | 1.25 KB | 0755 |
|