如何在每个月的第一个星期六和第三个星期六执行脚本

Ara*_*han 5 cron

我需要在每个第 1 个星期六和第 3 个星期六上午 8 点 30 分执行一个脚本。我是在 Linux 中使用 cron 作业的新手。请让我知道以下是否有效。

30 8 1-7,14-20 * * [ `date +\%u` = 6 ] && /path/to/myscript
Run Code Online (Sandbox Code Playgroud)

考虑到

  • 第一个星期六介于 1 - 7
  • 第三个星期六在 14 - 20 之间

cron 作业应该在每一天运行,如果不是星期六,则立即退出。

请指教。

mat*_*igo 5

您可能可以将其简化为:

30 8 1-7,14-20 * 6 /bin/bash /path/to/script
Run Code Online (Sandbox Code Playgroud)

根据 Crontab.guru,这将在每个月的 1 到 7 日和每个月的 14 日到 20 日和星期六的 08:30 运行。

  • @matigo 我认为 OP 需要逻辑 AND 在这里(仅在 1-7,14-20 之间的星期六)。您的食谱将在 1-7,14-20 * 以及 * 所有星期六的一周中的所有天运行,无论它们在本月的哪个位置,不是吗? (2认同)