我试图在终端中编辑 crontab,结果不小心输入crontab -r
了crontab -e
。谁能想到这么危险的命令会紧挨着编辑 crontab 的字母呢?而且,我还在想它怎么crontab -r
不要求你确认呢?
尽管我对这如何可能缺乏可信度,但我的问题是:我能够恢复丢失的 crontab 吗?
答案1
如果您的 cron 作业之前执行过,您可以从日志中找到它。查看/var/log/cron
。
除了第三方恢复工具之外,您没有任何恢复选项。
答案2
如果您记住了特定行,则可以 grep 整个设备来找回您的数据,前提是没有其他数据覆盖它。这适用于任何文件。
grep -a -B100 -A100 "command/you remember" /dev/sda1 > /tmp/cron.ressurected
根据文件大小调整 -B(efore) 和 -A(after),但对于 cron 文件来说 100 行应该足够了。需要 -a 参数来强制 grep 将您的设备视为文本。
然后,您必须清理结果文件中数据之前和之后的二进制混乱。
这需要很多时间。祝你好运。
你也可以参考这个答案:取消删除/恢复已删除的文件 | Unix 和 Linux 堆栈交换
答案3
我不确定,是否可以在crontab
没有备份的情况下恢复文件。但是,我很确定您可以crontab
从cron
日志中恢复文件。据我记得,每个命令都很快与用户一起列出。