【发布时间】:2018-01-23 23:28:08
【问题描述】:
使用以下 cron 模式每 6 小时执行一次任务很简单:
* */6 * * *
是否可以在特定日期停止上述 cron 作业,例如 2018-02-10?
【问题讨论】:
-
当然,为该日期创建另一个 cronjob 以删除第一个。
-
我不这么认为。我建议在Unix & Linux SE 上发帖,并更一般地询问如何设置一个计划的循环任务,该任务将运行指定的时间/迭代次数。
-
@MarkSetchell 但是你会让那个 cronjob 留在 crontab 中并每年运行(编辑:没关系,cronjob 可以删除初始的 cronjob 和它本身。我仍然觉得必须有一个更优雅的解决方案)
-
类似于@MarkSetchell 解决方案,只需让调用的任务本身删除 crontab 条目。如果这不能直接实现(例如,您正在运行一些本机命令),则使用脚本将其置于前端;如果编写得当,该脚本将可以重复使用,因此您可以将其作为永久实用程序保留。但是,我不认为 Cron 曾经打算用作功能齐全的任务调度程序,因此请查看其中的一些(例如,快速的互联网搜索出现了可能满足您需求的 Chronos)
-
您也可以使用
at命令。