Crontab 在一天中的两个小时运行,但其中一个小时不包括一周中的某些天

Posted

技术标签:

【中文标题】Crontab 在一天中的两个小时运行,但其中一个小时不包括一周中的某些天【英文标题】:Crontab to run at two hours out of the day, but for one of those hours exclude certain days of the week 【发布时间】:2019-10-22 09:40:35 【问题描述】:

我需要更改以下时间表,以便仅在第 2 个小时排除周二和周四。

0 2,20 * * *

我想在每天凌晨 2 点和晚上 8 点运行一项工作,但周二和周四不包括凌晨 2 点的工作。

【问题讨论】:

懒惰的方式:2个cron作业?见***.com/questions/16717930/… 【参考方案1】:

最简单的答案是在您的 crontab 中设置两个单独的条目:

# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed

 * 2,20 *  *  0,1,3,5,6 root /path/to/command.sh
 *  20  *  *  2,4       root /path/to/command.sh

确保 command.sh 不在 /etc/cron.* 文件夹中。

【讨论】:

谢谢,我忘了我可以有多个条目。这解决了它。【参考方案2】:

我认为你需要的只是

0 2,20 * * 1,3,4,6,7

最后的数字是星期几。 O 是星期天。

【讨论】:

星期天不是零就是七;星期一到星期六总是 1-6。阅读 cron 文档:“第 0-7 天(0 或 7 是星期日,或使用名称)”

以上是关于Crontab 在一天中的两个小时运行,但其中一个小时不包括一周中的某些天的主要内容,如果未能解决你的问题,请参考以下文章

如何仅在一天中的特定时间运行 Python 脚本?

恢复 0 */3 * * * Crontab 进程影响运行发生的时间?

Django celery crontab 每 30 秒 - 有可能吗?

如何在一天中的不同时间设置机器人的状态?

python pandas 按一天中的小时求和

使用 crontab 运行 tkinter GUI