我安装了Moodle 2.3,运行正常。 升级到Moodle 2.5,现在通知页面显示Cron作业不会在24小时内运行。
所以,cron停止了运行。 我通过浏览器/ URL运行它,它花了一段时间,从未完成,服务器冻结,我不得不重新启动它。我假设这不应该发生,但我一直害怕再次运行cron。
现在,我在哪里可以看到cron工作?如何查看一个cron作业是否已经存在但是已经停止运行,我在哪里可以找到日志,哪个用户可以运行这个cron?
这是一个openSuse服务器
我尝试了这些命令:
crontab -u apache2 -e
crontab -u apache -e
crontab -u www-data -e
crontab -u root -e
< - 这会打开一个新文件,并说一个文件不存在,因此会创建一个文件。他们都没有工作。
请帮我查找任何现有的cron作业,日志,moodle 2.5的cron用户是什么(不是root
,apache
,www-data
等等,我想要看看为什么他们停下来或者我可以把它们转回来好一些。
答案 0 :(得分:0)
通常,cron作业使用Web服务器的同一用户运行(以查找:Get apache linux user from php)。关于类似debian的发行是www-data
,在OpenSuse上我认为它是 wwwrun
。
之后,你可以检查你已经说过的cron作业(无论如何,Moodle在安装时没有定义cron作业,它们可能没有预先定义,或者有什么东西或某人删除了这些作业?)
$ sudo crontab -u wwwrun -e
或:
$ sudo -u wwwrun crontab -e
通常Moodle cron工作看起来类似于这样的一行:
*/15 * * * * /usr/bin/php /path/to/moodle/admin/cli/cron.php >/dev/null
但它也可以列在文件中(仔细阅读Cron on Moodle Wiki)。
要检查cron是否正常工作,请查看:Reasons why crontab does not work。
在设置cronjob之前我会小心,如果它可以杀死你的服务器.. :)我会尝试直接从命令行运行脚本,看看是否一切正常。像这样:
sudo -u wwwrun /usr/bin/php /path/to/moodle/admin/cli/cron.php