我在EC2上运行Debian服务器,几天前我的crontab定义突然消失了。 没有挑衅就消失了!
任何想法可以为此负责? 我不怀疑任何未经授权的访问服务器。
不幸的是,丢失一个用户crontab是非常容易的(当用户是root用户时,这一切都变得很简单)。
这里有几个方法来清空一个例子:
crontab '' echo $emptyvar | crontab - crontab emptyfile crontab -l | oops | crontab -
其中oops代表一些命令,在使用crontabreplace它们之前,它应该操纵crontab -l输出的内容。 由于某些原因(“哎呀”)的内容不通过pipe道。
你应该检查你的脚本和crontabs是否有任何操作root的crontab的行,并确保它们没有做错。
此外,对于用户crontabs,当你自己编辑一个总是使用crontab -e 。
这可能是/ var所在的分区已满。
如果发生这种情况,并且/ tmp位于另一个分区中,则可以使用crontab -e编辑临时文件,但是当您完成该版本时,新版本不能被复制到/ var / spool / cron /中,因此您将获得一个空的文件。
我知道这是一个奇怪的情况,但crontab不会返回任何错误。
在forums.aws.amazon.com上阅读有关EC2的问题。 不是特别是这个问题,但静态数据重新启动后消失。 你可能想跳到那里的讨论或联系aws支持。 同时,我会脚本的东西备份我的crontabs到S3或者其他东西。
在尝试编辑它之前,请查看/ var / spool / cron / crontab /中是否实际存在crontab文件。 它是空的还是正在创build?
您的EC2实例是否重新启动?
grep -r crontab /etc/*看看有没有什么东西在触碰它们。