我想安排每月第二天到最后一天执行一项任务。我已阅读这篇很棒的文章关于 shell 脚本的执行。我还看到你可以使用“L”来表示月份的最后一天,但我使用的是CentOS 无法使用“L”结构。
我想在每个月倒数第二天晚上 11 点运行该任务。我希望构造类似如下的命令:
0 23 27-30 * * [ "$(date +%d -d tomorrow" = "L" ] && $HOME/path/to/script
我知道我不能用 L 来表示月份的最后一天,我该如何使用这个逻辑来安排我的 Cron 作业?
答案1
该网站上的代码示例有误。它们将某些 shell 字符替换为 HTML 实体。引号似乎也放错了位置。我想知道作者在写这篇文章时是否看过该页面……
一旦我们解决了这个问题,然后检查每月的第一天是否二天而不是一天……
0 23 27-30 * * [ $(date +\%d -d "2 days") == 01 ] && /where/is/my/script