【问题标题】:Running a crontab job for 12 months运行 crontab 作业 12 个月
【发布时间】:2021-09-17 10:20:10
【问题描述】:

我正在尝试编写一个运行 12 个月并在该时间段后停止运行的 crontab 作业。有点像每年更新的许可证。这可能吗? 我的思考过程是在crontab -e 文件中使用date 命令。 对此的任何想法将不胜感激,谢谢。

【问题讨论】:

    标签: linux cron


    【解决方案1】:

    准备许可证检查脚本。它的任务是验证您的每月脚本是否有效。如果每月脚本无效,请禁用每月脚本。

    1. 将每月脚本放入 /etc/cron.monthly

    2.1 使用at 命令在特定时间对您的每月脚本运行“许可证检查”。一次。

    2.2 使用crontab 每年运行一次“许可证检查”。

    【讨论】:

      【解决方案2】:

      您可以构建一个从 crontab 调用的 shell 脚本。在那里,您可以检查“今天”是否在您运行 crontab 的给定日期之前,例如每天:

      futuredate=$(date -d 2021-08-19 +%s)
      today=$(date +%s)
      
      if [ $futuredate -ge $today ];
      then
        echo "put yout command here"
      fi
      

      然后您可以像往常一样运行 crontab。如果日期结束,则不会调用 if 语句中的命令

      (编辑)更有意义的变量名

      【讨论】:

        猜你喜欢
        • 2019-07-31
        • 1970-01-01
        • 2018-05-05
        • 2020-09-04
        • 2012-01-11
        • 1970-01-01
        • 2015-09-26
        • 2016-07-21
        • 2014-05-07
        相关资源
        最近更新 更多