Linux服务器中的预定Cron作业是否可以在每个月的第1天以及每周的特定日期运行

时间:2018-02-12 04:57:07

标签: shell scripting

下面的cron条目显示了如何在每个月的第一天以及每个星期二执行任务。

00 02 1 * * - This will execute on every first day of the month.

00 02 * * 2 - This will restart the script every week (Tuesday).

单个cron条目可以替换以上两个单独的日程表吗?或者我们是否需要两个单独的时间表来实现相同的目标?

如果我有一个用例在每个月的第1天以及每个星期二重新启动脚本,那么如果我可以用一个替换这两个条目将会很有帮助

1 个答案:

答案 0 :(得分:0)

您的回答是 ...... man 5 crontab解释:

  

cron(8)字段与当前时间匹配时,'minute', 'hour', and 'month of the year'执行命令并且至少   两个'day' fields ('day of month', or 'day of week')中的一个   匹配当前时间。

订单是:

    field          allowed values
    -----          --------------
    minute         0-59
    hour           0-23
    day of month   1-31
    month          1-12 (or names, see below)
    day of week    0-7 (0 or 7 is Sunday, or use names)

您的minutehourmonth字段始终相同0 2 _ * _。您希望在月份_ _ 1 _ _或周二(第2天)_ _ _ _ 2的1 st -day执行脚本。两者都不相互排斥。

由于crontab会在'day of month''day of week'与当前时间匹配时运行,因此您可以将它们组合起来以获得所需的结果,例如

0 2 1 * 2 your_command

本月的1 st -day或每个星期二凌晨2点开始运行。