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

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

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

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

我该如何使用 Crontab 来实现?谢谢!Dotan。

答案1

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

10 1 1-7 * * test `date +\%a` == "Sun" &&  doSomething

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

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

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

相关内容