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

use*_*058 7 linux cron

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

这是我的 crontab -l 结果:

root@work:~$ crontab -l
3 */23 * * * /opt/lampp/bin/php /opt/lampp/htdocs/site/cron/my_script.php > /dev/null
Run Code Online (Sandbox Code Playgroud)

如果我的值正确,我的 cronjob 会在每晚 11 点准时运行并将任何输出记录到 /dev/null 以保持清洁吗?

谢谢。

mrb*_*mrb 6

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

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

# Run at 15:16
16 15 * * * /opt/lampp/bin/php /opt/lampp/htdocs/site/cron/my_script.php > /dev/null
Run Code Online (Sandbox Code Playgroud)

顺便提一句。每天晚上 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
Run Code Online (Sandbox Code Playgroud)