Cron在本月的第一个星期天上班

时间:2013-06-18 09:07:03

标签: crontab

我有一个cron行,用于在每个月的第一个星期日运行命令,如下所示:

0 19 1-7 * 0 command.sh


Minutes=0
Hours=19
Day= 1st to 7th
* = any month
0 = first day of the week (Sunday)

但是,上周日(6月16日)我遇到了令人惊讶的命令.sh。任何人都可以解释为什么我的cron线错了吗?

作为替代方案,根据wiki page,可以使用“#”字符:“允许您指定诸如”给定月份的“第二个星期五”之类的构造“。有没有一个例子如何使用它来适应“给定月份的第一个星期日”?

3 个答案:

答案 0 :(得分:1)

试试这个

0 0 1 ? 1/1 SUN#1 *

它将在每个月的第一个星期日下午1点运行

答案 1 :(得分:0)

您的脚本将在每个月的前七天(1-2-3-4-5-6-7)和每个星期天的19日运行。

这适用于您的情况:

0 19 1-7 * Sun [ "$(date '+\%a')" == "Sun" ] && /some/command

答案 2 :(得分:0)

另一个与下面提到的 Haxis 类似的表达,

0 19 1-7 * Sun  [ $(date +%d) -le 07 ] && /some/command