我刚刚向服务器管理员发送了一条消息,询问他是否可以在服务器上设置 cronjobs,他让我告诉他是否一切正常。如何测试 cronjobs 是否正常工作?
6 回答
确实——正如 edelgado 所说——如果 cron 作业在 24 小时后没有运行,那么通知页面中会显示一条消息。
但是,如果您想立即运行脚本,您可以转到:
http://www.mymoodlesite.com/admin/cron.php
www.mymoodlesite.com
你的moodle实例的地址在哪里。
该页面将显示脚本在服务器运行时的输出。如果有任何效果,它将在页面末尾打印类似的行:
Cron script completed correctly
Execution took 1.938528 seconds
您需要将 Moodle cron run 输出到日志文件,例如您的 cron.d 记录可能如下所示:
* * * * * www-data /usr/bin/php /var/www/moodle/admin/cli/cron.php >> /var/log/vle/moodle-cron.log 2>&1
然后, 的内容/var/log/vle/moodle-cron.log
会立即告诉您 cron 是否运行良好。如果您想更进一步,您甚至可以使用一些单环工具监视文件的最后更新,并在 cron 停止时收到警报。
转到通知页面。如果 cron 在过去 24 小时内没有运行,它将向您显示一条消息,告知该事实。
我正在运行 WAMP 2.2。我使用了这个moodle doc page,特别是moodle cron 包。下载 MoodleCron-Setup.exe 文件,安装并验证 Windows 服务处于活动状态且正在运行。该服务的名称是Moodle Cron。如果状态显示已开始 - 那么您应该已准备就绪。如果您双击该服务并查看其属性,它应该具有自动启动类型。
如果您是moodle的站点管理员,您可以尝试从以下检查。登录到您的moodle,然后仪表板► 站点管理► 服务器► 计划任务
它将显示每个任务的状态。在那里你应该知道 cron 作业是否运行。希望这有帮助。
最后一个 cron exec 时间戳在“mdl_config_plugins”表中,字段“plugin”=“tool_task”,因此要查询值(PHP 格式):
select value from mdl_config_plugins
where plugin='tool_task' and name='lastcronstart';
要在站点管理/通知页面中显示此值,请在 307 行附近修改文件 admin/ renderer.php,在“cron_infrequent_warning”行之后插入以下 2 行:
$lastcron = get_config('tool_task', 'lastcronstart');
$output .= " Last CRON exec = ".date("d-m-Y H:i:s",$lastcron)."<br>";