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

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

我试图在生产环境中创建一个 cron,因此我crontab.txt使用新的 cron 命令创建了文件并运行了crontab crontab.txt文件,但它没有将其附加到现有的 cron 作业列表中,而是意外地删除了所有 cron,现在我只有在生产环境中的 cron。

我如何才能检索之前设置的 cron 并将我的新 cron 附加到其中。

谢谢。

答案1

建议从备份中恢复 crontab 是否会雪上加霜?

答案2

首先:一定要进行备份!

第二:

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

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

现在您还应该对旧的 cronlogs 执行 grep 来找出可能一个月只运行一次的作业。

答案3

我制作了一个 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

相关内容