Cron工作每x周和特定日期运行一次

Edd*_*lat 7 cron recurrence scheduler crontab

我想创建一个每x周和特定工作日运行的cron作业.例如:每周日和周一午夜每2周运行一次.

为每个"计划"存储cron表达式,并在SQL Server 2008中使用ncrontab函数生成给定cron表达式的日期.

有表达吗?甚至连几个表达式?

我试过使用下面的表达式,但它总是给出几个月的相同日期

0 0 1/14 * *

2012-01-01 00:00:00.000
2012-01-15 00:00:00.000
2012-01-29 00:00:00.000
2012-02-01 00:00:00.000
2012-02-15 00:00:00.000
2012-02-29 00:00:00.000
Run Code Online (Sandbox Code Playgroud)

编辑:
我正在寻找每x天/周的复发和cron的主要问题,它是每次重复发生到每个月的第一天.例如,如果我每隔3天开始29日复发,则下一次发生将是下个月的第1天.

我忽略了cron的下一个解决方案:http: //www.codeproject.com/Articles/20343/Recurring-Date-Generator-with-Pattern-Coding

Ale*_*lex 2

尝试0 0 * * 0/2,1/2

01星期日和星期一,并且/2是“每隔一个”

编辑:

经过对 cron 的更多研究,上面的内容是不正确的,因为/2指示了步骤(每隔一个值),所以0/2相当于0,2,4,60/2,1/2相当于0,1,2,3,4,5,6,7这解释了为什么你看到它被解释为一周中的每一天。

在上面的示例中,1/14意味着从该月的 1 号开始,增加 14,得出1,15,29

话虽这么说,如果这是一个 *nix crontab,那么您可以通过使用类似0 0 * * Sun,Mon check_if_should_run.sh && the_script_to_run.sh. 使用 Ncrontab,我想不出一种方法来设置每隔一周的场景。