错误:错误时间;读取 /etc/crontab 时

错误:错误时间;读取 /etc/crontab 时

我的 cron 如下,/var/log/syslog 中的错误是帖子的标题。

# week
*/2 12/1 * * 1-5 tills13 python3 /home/tills13/script.py --sync
1/2 12/1 * * 1-5 tills13 python3 /home/tills13/script.py --sync

# weekends
*/2 9/1 * * 0,6 tills13 python3 /home/tills13/script.py --sync
1/2 9/1 * * 0,6 tills13 python3 /home/tills13/script.py --sync

我用了此工具生成/验证我的 cron。我正在运行 Ubuntu 15.04。

基本上,我希望它在工作日中午之后每小时运行一次(前两个),在周末上午 9 点之后每小时运行一次(后两个)。

答案1

根据您对 cron 的喜好,它可能不喜欢 / 符号。

与其试图让它变得超级紧凑,不如以一种更适合大多数/所有版本的 cron 方式告诉它你想让它做什么。也可能具有对更多人来说更明显的优势。这是一个简单的系统 - 除了文本编辑器之外,你真的不需要“工具”来创建 crontab。由于中午发生在 9 点之后,你只需要为周日和周六的 9、10 和 11 提供一个“特殊情况”。

# every day at 2 minutes past the hour from Noon to 11 PM
2 12-23 * * * tills13 python3 /home/tills13/script.py --sync
# weekends at 2 past the hours of 9, 10 and 11
2 9-11 * * 0,6 tills13 python3 /home/tills13/script.py --sync

也适用于周末(周日是 0 和 7):

2 9-11 * * 6-7 tills13 python3 /home/tills13/script.py --sync

如果您希望每小时 2 分钟后显示一次。

我还没有费心去完全解码 / 符号,(不记得 30 年前我做 cron 的时候维基百科文章并不全面)但如果你真的想要每 2 分钟,只需列出它们 - 2,4,6,8,10,12(等等)

小时字段中的 9-11 相当于 9,10,11(例如),可以任意书写,都可以。如果您希望按小时运行,请将分钟字段中的 2 更改为 0。

Minute Hour Day-of-Month Month Day-of-Week Command就是标准 crontab 符号的全部内容,范围为0-59, 0-23, 1-31, 1-12, and 0-6 (but 7 is commonly accepted as 0 here)- 时间字段可以用逗号分隔列表或破折号分隔范围,或者 * 表示全部 - 空格分隔字段。

相关内容