恢复使用 crontab -r 意外删除的 cron 作业

恢复使用 crontab -r 意外删除的 cron 作业

我进入crontab -r而不是crontab -e,我的所有cron工作都被删除了。

恢复这些工作的最佳方法是什么(或者有没有一种方法)?

答案1

crontab -r删除唯一包含 cron 作业的文件。

因此,如果您没有进行备份,您唯一的恢复选项是:

  • 在 RedHat/CentOS 上,如果您的作业之前被触发过,您可以在 中找到 cron 日志/var/log/cron。该文件将帮助您再次重写作业。
  • 另一种选择是使用文件恢复工具恢复文件。但这不太可能成功,因为系统分区通常很繁忙,并且相应的扇区可能已经被覆盖。
  • 在 Ubuntu/Debian 上,如果您的任务之前运行过,请尝试grep CRON /var/log/syslog

答案2

如果您没有/var/log/cron文件,您可以从syslog.

grep 'CRON.*(yourusername)' /var/log/syslog

然后,您可以通过查看日期戳来找出大多数时间。

答案3

这很糟糕,但是如果你运行crontab -r你的 crontab 就会永远消失。除非您在某处有备份,否则您必须通过 syslog 文件进行 grep 以了解作业正在运行的内容/时间,并重新创建。

避免此类问题的一个好技巧是将以下行添加到您的 crontab 中:

@daily          crontab -l > $HOME/.crontab

这样,您的 crontab 每天都会备份到$HOME/.crontab,因此,如果您不小心删除了它,则可以使用相对较新的副本,并且可以通过以下方式安装:

crontab < $HOME/.crontab

答案4

vi /var/spool/cron/*user*或者如果你是root用户那么vi /var/spool/cron/root

相关内容