我可以恢复意外删除的crontab条目吗?

我试图在生产环境中创build一个cron,所以我使用我的新cron命令创build了crontab.txt文件,并运行了crontab crontab.txt文件,但不是追加到现有的cron作业列表,而是意外地删除了所有cron,现在我只能有我的cron在prod。

我怎样才能检索早先设置好的cron,并将新的cron添加到它中。

谢谢。

它会增加侮辱伤害,build议从备份恢复您的crontab?

首先:总是做备份!

第二:

你可以尝试查看/ var / log / cron并再次构build你的crontab。

  1. 看看日志文件
  2. 取第一个命令,并执行grep commandname1 /var/log/cron
  3. 找出命令运行的时代背后的系统
  4. 把这个条目放到你的新的crontab中
  5. 执行cat /var/log/cron | grep -v commandname1 cat /var/log/cron | grep -v commandname1
  6. 采取下一个命令和grep的
  7. 找出第二个命令运行的时代背后的系统
  8. 把这个条目放到你的新的crontab中
  9. 执行cat /var/log/cron | grep -v commandname1 | grep -v commandname2 cat /var/log/cron | grep -v commandname1 | grep -v commandname2
  10. 重复,直到你覆盖所有的命令

现在,您还应该在较早的cronlog上执行grep来查找一个月内只能运行一次的作业。

我做了一个PHP脚本,根据日志对crontab进行完全恢复。

它输出上周用户运行的每个cron命令的单个实例。

我把它放在这里

https://github.com/dangreenisrael/recover_crontab

这是一个示例输出:

perl〜/ sorttv / sorttv.pl

在/ usr / local / bin目录/ flexget

bash〜/ scripts / sort_sports.sh

〜/脚本/ play_recently_added.sh