当我构建服务器映像时,我将以下内容写入临时文件;
* * * * * php /var/www/artisan schedule:run
然后加载
crontab < /tmp/cron
部署镜像后,我运行cron -f
并看到进程确实在运行,但是 cronjob 尚未启动。
如果我运行crontab -e
,添加一个空格,保存它,crontab -e
再次运行并删除该空格,那么 cronjob 就可以正常工作无需重新加载 cron。
我尝试使用 重新加载构建时的 cron /etc/init.d/cron reload
,但这并不能解决问题。
答案1
crontab 需要得到通知。您可以执行如下操作(小心!)通过命令行或使用脚本附加:
(crontab -l 2>/dev/null; echo "* * * * * php /var/www/artisan schedule:run") | crontab -
2>/dev/null;
当用户的 crontab 为空时,会抑制 crontab 的消息。