如何在每月的第一个、第二个、第三个和第四个星期日使用 crontab 执行命令

edo*_*tan 6 linux centos cron

我有 4 台服务器,我希望每台服务器都在周日执行重新启动。

  • 服务器 1 - 每月的第一个星期日(第一周)
  • 服务器 2 - 每月的第二个星期日(第二周)
  • 服务器 3 - 每月的第三个星期日(第三周)
  • 服务器 4 - 本月的第四个星期日(第 4 周)

我怎样才能用 Crontab 做到这一点?谢谢!多坦。

use*_*517 12

第一个星期天总是在 1 号和 7 号之间,所以

10 1 1-7 * * test `date +\%a` == "Sun" &&  doSomething
Run Code Online (Sandbox Code Playgroud)

将在 1 日和 7 日之间的星期日在 1 点 10 分运行 doSomething。同样,第二个星期日将在 8 日和 14 日之间,第三个星期日在 15 日和 21 日之间,第四个星期日在 22 日和 28 日之间,因此请在相关服务器上相应地调整月份日期。

请注意,测试是必需的,因为

注意:命令执行的日期可以由两个字段指定——月中的某天和一周中的某天。如果两个字段都受到限制(即不是 *),则当任一字段与当前时间匹配时,将运行该命令。例如,“30 4 1,15 * 5”将导致命令在每个月的 1 号和 15 号以及每个星期五的凌晨 4:30 运行。