以下是cron
表达式我试过0 0 0 */14 * ?
它正在提供以下时间表
开始时间: - Friday, September 8, 2017 1:25 AM
下一个预定: -
1. Friday, September 15, 2017 12:00 AM
2. Friday, September 29, 2017 12:00 AM
3. Sunday, October 1, 2017 12:00 AM
4. Sunday, October 15, 2017 12:00 AM
5. Sunday, October 29, 2017 12:00 AM
此表达式每个月每2周工作一次,但我的要求是必须每2周运行一次,我的意思是在执行sept 29th
后,nxt计划应为October 13
但它是安排October 1
答案 0 :(得分:2)
每2周没有直接cron
表达,但我一直关注cron
表达,这类似于2周但不完全是2周
cron for every 2weeks(on 1st and 15th of every month at 1:30AM) - 30 1 1,15 * *
答案 1 :(得分:2)
30 7 1-7,14-21 * 1
“每月 1 日至 7 日以及每月 14 日至 21 日以及星期一的每天 07:30。”
答案 2 :(得分:1)
您需要指定开始日期。否则它将始终在该月的第一天重置。 所以这个表达“0 0 0 23/14 OCT?2017”是从2017年10月23日开始每2周
答案 3 :(得分:1)
每两周星期五:
0 0 * * Fri [ $(expr $(date +%W) \% 2) -eq 1 ] && /path/to/command
答案 4 :(得分:1)
我的 Ubuntu 18 上的 crontab 手册说:
<块引用>注意:命令执行的日期可以由两个字段指定——月中的某天和一周中的某天。如果两个字段都受到限制(即不是 *),则当任一字段与当前时间匹配时,将运行该命令。例如, ``30 4 1,15 * 5'' 会导致命令在每个月的 1 号和 15 号以及每个星期五的凌晨 4:30 运行。然而,一个人可以达到预期的结果 通过向命令添加测试(请参阅下面示例 CRON 文件中的最后一个示例)。
上面提到的例子是:
# Run on every second Saturday of the month
0 4 8-14 * * test $(date +\%u) -eq 6 && echo "2nd Saturday"