我的产品需要为用户发送给其他用户的每条消息进行cronjob处理。这个cronjob会被添加到服务器上的crontab中。一切都运作良好。现在,任务完成后,有没有办法从crontab中删除已过期的cronjob条目?由于消息数量巨大,我的crontab不断增长,因此我想清理旧的作业条目。有没有什么简便的方法可以实现?
至少在大多数Linux发行版中,有一个crontab命令,允许您获取和设置用户crontab的内容。您可以像这样使用它: crontab -l > myfile ... edit the file (removing the entry) crontab myfile 然而,这种方法非常笨重并容易出错。更好的方法是将您的工作包装在一个脚本中,该脚本检查条件(例如标志文件)以决定是否运行基础逻辑,并改变此标志文件。
at
而不是cron可能更好。at
更适合为将来某个时间安排一次性作业,而cron
更适合需要重复执行的作业。at
作业将在执行后自动从计划中“消失”。 - mti2935