嗨,我正在制作一个 cron 状态页面,显示 cron 运行的脚本的所有状态信息。我知道如何构建“显示状态信息”,但我需要以下方面的帮助和建议......
我需要允许查看状态页面的用户有权手动启动 cron 脚本。就像一个按钮,它会调用 cron 来运行一个特定的脚本,比如“现在”。
这是可能的还是有我可以做的解决方法?
请提前帮助和感谢。
您可以手动执行 cron 脚本:
exec("cron script here");
如果需要,您可以获得可用的 cron 脚本(未经测试):
$crontab = file_get_contents("path/to/cron");
$cron_jobs = array_filter(explode(PHP_EOL, $crontab), function($cron_job) {
return $cron_job[0] !== "#"; // Remove comments.
});
$cron_jobs = array_map(function($cron_job) {
$fields = explode(" ", $cron_job);
$fields = array_splice($fields, 0, 5); // Get rid of timing information.
return implode(" ", $fields);
}, $cron_jobs);
$cron_script = $_GET["cron_script"];
if ($cron_script < sizeof($cron_jobs)) {
exec($cron_jobs[$cron_script]);
}