我是如何消灭所有的 cron 工作的?

Jas*_*Yeo 10 cron

我不小心抹去了我所有的 cron 工作。我不确定我做了什么。我不记得通过发出crontab -e. 有哪些可能的方法可以完全消除 cron 作业?

Kei*_*son 21

如果不crontab带参数键入,它会从标准输入读取 crontab。如果然后键入Control-D,它将创建一个空的 crontab,覆盖您之前的 crontab。(Control-C中止命令并留下您的 crontab。)

jpmath 的回答正确指出,这crontab -r也将消除您的 cron 工作(这就是它的用途)。

我通过(几乎)从不使用crontab -e(编辑 crontab)或crontab不使用参数(从标准输入读取)来避免这种情况。相反,我将我的 crontab 条目保存在一个单独的文件中,我在源控制系统中维护crontab该文件,并使用该文件名作为参数运行命令。(我偶尔会crontab -e用来做临时更改。)

(我在写这个答案时暂时破坏了自己的 crontab,知道我可以恢复它。)

  • 如果你还没有保存它的副本,我不知道。系统可能会将你的 crontab 保存在 `/var/spool/cron/crontabs/foo` 中,其中 `foo` 是你的用户名;如果您有某种方法可以恢复该文件的先前版本,那么您可能有机会。换句话说,这归结为您是否可以恢复已删除的旧文件。你有备份吗? (4认同)

小智 9

如果您输入crontab -r而不是crontab -e错误(e并且r彼此相邻),您的 crontab 也将被删除。