为什么`crontab -`删除crontab,并且可以将其取消?


8

我急忙忘了Ëcrontab -e我打之前Enter

出现提示,所以我用Ctrl+ 关闭D,与通常退出输入提示相同。

现在,没有任何警告,我的整个crontab都是空的。

为什么?什么逻辑导致这种情况发生?我应该如何关闭除Ctrl+ 以外的提示,D以便不保存任何内容?


2
提示说了什么?
迈克尔·汉普顿

Answers:


7

Control+C在这种情况下将中止crontab并且不会清除当前的crontab条目。否则,裸露-在Unix上是一个常见的指示,即应该从标准输入中读取输入,并Control+D关闭标准输入,从而导致空的crontab文件,因为在标准输入上没有任何输入。

用户crontab条目沿

@daily crontab -l > $HOME/.cron.`hostname`

可以通过提供crontab数据的备份副本来帮助防止此类将来发生的麻烦(或者您可以疯狂使用版本控制,或者无论您希望备份多么复杂)。


15

您用空的stdin中的内容替换了crontab。基本上与相同crontab < /dev/null

按Ctrl + C可能是一个更好的习惯。

您的crontab最有可能消失了。备份可能在中的某处/var/spool/cron,但我不知道任何维护备份的cron守护程序。/var/spool/cron如果对您很重要,则应设置备份。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.