我试图在生产环境中创建一个 cron,因此我crontab.txt
使用新的 cron 命令创建了文件并运行了crontab crontab.txt
文件,但它没有将其附加到现有的 cron 作业列表中,而是意外地删除了所有 cron,现在我只有在生产环境中的 cron。
我如何才能检索之前设置的 cron 并将我的新 cron 附加到其中。
谢谢。
答案1
建议从备份中恢复 crontab 是否会雪上加霜?
答案2
首先:一定要进行备份!
第二:
您可以尝试查看 /var/log/cron 并再次构建您的 crontab。
- 查看日志文件
- 接受第一个命令并执行
grep commandname1 /var/log/cron
- 找出命令运行时间背后的系统
- 把这个条目放到你的新 crontab 中
- 执行
cat /var/log/cron | grep -v commandname1
- 执行下一个命令并对其进行 grep
- 找出第二条命令运行时间背后的系统
- 把这个条目放到你的新 crontab 中
- 执行
cat /var/log/cron | grep -v commandname1 | grep -v commandname2
- 重复此操作直到覆盖所有命令
现在您还应该对旧的 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