我运行crontab -r而不是crontab -e并删除了我的crontab文件。 我没有备份和新的恢复被删除的文件。
这可能吗?
谢谢,
彼得
尝试查看/ var / log / cron以查看运行的内容,然后尝试从中重新创buildcrontab。 它凌乱,但你应该能够恢复以前运行的一切。 虽然没有那么多新的项目运气。 祝你好运!
首先:总是做备份!
但是,将crontab -r和crontab -e混合起来很容易。 我只是自己做的。
这就是我所做的:
你可以尝试查看/ var / log / cron并再次构build你的crontab。
grep commandname1 /var/log/cron cat /var/log/cron | grep -v commandname1 cat /var/log/cron | grep -v commandname1 。 这将排除你已经覆盖的command1。 cat /var/log/cron | grep -v commandname1 | grep -v commandname2 cat /var/log/cron | grep -v commandname1 | grep -v commandname2 现在,您还应该在较早的cronlog上执行grep来查找一个月内只能运行一次的作业。
我做了一个PHP脚本,根据日志对crontab进行完全恢复。
它输出上周用户运行的每个cron命令的单个实例。
我把它放在这里
https://github.com/dangreenisrael/recover_crontab
这是一个示例输出:
perl ~/sorttv/sorttv.pl /usr/local/bin/flexget bash ~/scripts/sort_sports.sh ~/scripts/play_recently_added.sh
你有select,但没有一个是特别漂亮的。 如果你没有想到,如果你在开发机器上有最新版本,你可以从那里复制它…我只是说,因为我经常忘记可能在其他机器上的副本,所以我假设你已经尝试过了。
如果您的文件过于自定义以至于无法重build,那么您总是可以尝试一些低级别的取证。 尝试search基于sleuthkit和UFS资源pipe理器的教程。 使用这些工具的人们在易用性和成功率方面有很大程度的不同,正如往常一样,YMMV。
我不这么认为。 现在是时候开始备份这个重要的文件(所有其他文件在/ etc / var / spool / home中)。
呃不能发表对原始问题的评论,但是一位同事刚给我看了一个很棒的工具:在你用于crontab任何.profile创build一个别名为crontab -i 。 -i标志在删除之前要求确认。
所以,如果你使用crontab -e ,它将像往常一样进行编辑,但是如果你不小心做了crontab -r你会得到确认提示。