Я запустил crontab -r вместо crontab -e и удалил свой файл crontab. У меня не было резервной копии и нового, чтобы восстановить удаленный файл.
Это возможно?
Благодарность,
Питер
Я запустил crontab -r вместо crontab -e и удалил свой файл crontab. У меня не было резервной копии и нового, чтобы восстановить удаленный файл.
Это возможно?
Благодарность,
Питер
Ответы:
Попробуйте посмотреть / var / log / cron, чтобы увидеть, что было запущено, а затем попытаться воссоздать crontab из этого. Это грязно, но вы должны быть в состоянии восстановить все, что ранее запускалось. Не так много удачи для новых предметов, хотя. Удачи!
Прежде всего: всегда делайте резервные копии!
Но, это так легко перепутать crontab -r
и crontab -e
. Я просто сделал это сам.
Вот что я сделал:
Вы можете попробовать посмотреть / var / log / cron и снова собрать свой crontab.
grep commandname1 /var/log/cron
cat /var/log/cron | grep -v commandname1
. Это исключит команду 1, которую вы уже рассмотрели.cat /var/log/cron | grep -v commandname1 | grep -v commandname2
Теперь вы также должны выполнить grep для старых cronlogs, чтобы найти задания, которые могут выполняться только один раз в месяц.
/var/log/syslog/*
.
Я сделал 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
zgrep -F "($USER) CMD (" /var/log/syslog* | cut -d\( -f3- | sort -u | while read cmd ; do echo ${cmd::-1} ; done
У вас есть варианты, но ни один из них не особенно хорош. Если вы не подумали об этом, если у вас есть последняя версия на компьютере разработчика, вы можете скопировать ее оттуда ... Я говорю это только потому, что часто забываю о копиях, которые могут быть на других машинах, поэтому Я предполагаю, что вы уже попробовали это.
Если ваш файл слишком сильно настроен для того, чтобы просто перестроить его на практике, вы всегда можете попробовать низкоуровневую экспертизу. Попробуйте поискать учебники, основанные на Sleuthkit и UFS Explorer. Люди, использующие эти инструменты, находят самые разные степени с точки зрения простоты использования и показателей успешности, как обычно, YMMV.
Тьфу не могу оставить комментарий к первоначальному вопросу, но сотрудник только что показал мне отличный инструмент: создайте псевдоним во всем, что .profile
вы используете, crontab
чтобы быть crontab -i
. -i
Флаг запрашивает подтверждение перед удалением.
Таким образом, если вы это сделаете, crontab -e
он продолжит редактировать как обычно, но если вы случайно это сделаете, crontab -r
вас встретят с запросом подтверждения.