【发布时间】:2021-09-17 10:20:10
【问题描述】:
我正在尝试编写一个运行 12 个月并在该时间段后停止运行的 crontab 作业。有点像每年更新的许可证。这可能吗?
我的思考过程是在crontab -e 文件中使用date 命令。
对此的任何想法将不胜感激,谢谢。
【问题讨论】:
我正在尝试编写一个运行 12 个月并在该时间段后停止运行的 crontab 作业。有点像每年更新的许可证。这可能吗?
我的思考过程是在crontab -e 文件中使用date 命令。
对此的任何想法将不胜感激,谢谢。
【问题讨论】:
准备许可证检查脚本。它的任务是验证您的每月脚本是否有效。如果每月脚本无效,请禁用每月脚本。
2.1 使用at 命令在特定时间对您的每月脚本运行“许可证检查”。一次。
或
2.2 使用crontab 每年运行一次“许可证检查”。
【讨论】:
您可以构建一个从 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 语句中的命令
(编辑)更有意义的变量名
【讨论】: