
Я пытался редактировать crontab в терминале и случайно набрал crontab -r
вместо crontab -e
. Кто бы мог подумать, что такая опасная команда будет стоять прямо рядом с буквой для редактирования crontab? Более того, я все еще пытаюсь понять, как crontab -r
не спросить у вас подтверждения?
Несмотря на то, что я не совсем понимаю, как это возможно, у меня возник вопрос: смогу ли я восстановить утерянный файл crontab?
решение1
Вы можете найти свои задания cron в журнале, если они уже выполнялись. Проверьте /var/log/cron
.
У вас нет других вариантов восстановления, кроме сторонних инструментов восстановления.
решение2
Если вы помните определенную строку, вы можете выполнить grep по всему устройству, чтобы найти свои данные, при условии, что никакие другие данные не перезаписали их. Это работает для любого файла.
grep -a -B100 -A100 "command/you remember" /dev/sda1 > /tmp/cron.ressurected
Отрегулируйте -B(efore) и -A(after) в соответствии с размером вашего файла, но 100 строк вокруг должно быть достаточно для файла cron. Параметр -a необходим, чтобы заставить grep рассматривать ваше устройство как текст.
Затем вам придется очистить двоичный мусор до и после ваших данных в полученном файле.
И это занимает много времени. Удачи.
Вы также можете сослаться на этот ответ:Восстановление удаленных файлов | Unix & Linux Stack Exchange
решение3
Я не уверен, можно ли восстановить crontab
файл без резервной копии. Но я почти уверен, что вы можете восстановить свой crontab
файл из cron
журналов. Насколько я помню, там быстро каждая команда указана с пользователем.