我有一个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,可以使用“#”字符:“允许您指定诸如”给定月份的“第二个星期五”之类的构造“。有没有一个例子如何使用它来适应“给定月份的第一个星期日”?
答案 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