如何确保我的 cronjob 将在指定时间运行?

如何确保我的 cronjob 将在指定时间运行?

我想知道如何检查我的 cronjob 是否会在我设置的指定时间运行。无论如何,我可以测试这个而不必等待那个时间吗?

这是我的 crontab -l 结果:

root@work:~$ crontab -l
3 */23 * * * /opt/lampp/bin/php /opt/lampp/htdocs/site/cron/my_script.php > /dev/null

如果我的值正确,我的 cronjob 是否会在每晚 11 点整运行并将所有输出记录到 /dev/null 以保持清洁?

谢谢。

答案1

唯一确定的方法是让它运行并检查结果。您可以修改命令以将输出记录在某处并进行检查,或者让它通过电子邮件将输出发送给您。

您可以添加另一条相同的行,该行会在 5 分钟左右运行该命令,以进行调试。例如。如果现在是下午 3:13,我可能会添加此行以在 3 分钟后测试该命令:

# Run at 15:16
16 15 * * * /opt/lampp/bin/php /opt/lampp/htdocs/site/cron/my_script.php > /dev/null

顺便提一句。要每天晚上 11 点跑步,您可能需要这样;我还将 stderr 重定向到 stdout ( 2>&1) 以确保所有输出都转到/dev/null

# At minute 0 of hour 23 on every day, every month, every day of the week:
0 23 * * * /opt/lampp/bin/php /opt/lampp/htdocs/site/cron/my_script.php > /dev/null 2>&1

答案2

作为其他好答案的补充,您可以使用在线测试页面来健全性检查 cron 设置:

答案3

我想最简单的选择是提前设置 cron 作业,比如从现在开始 5 分钟,看看该作业是否有效。此外,将 cron 运行日志记录到一个有日期的文件中也是一种很好的形式。这样你就可以看到#1它确实运行了,#2它运行正确。

确保您的系统时间也正确。

相关内容