Я пытался редактировать crontab в терминале, и я случайно набрал crontab -r
вместо crontab -e
. Кто бы мог подумать, что такая опасная команда будет сидеть рядом с буквой, чтобы отредактировать crontab? Более того, я до сих пор пытаюсь выяснить, как crontab -r
не просит у вас подтверждения?
Независимо от моего отсутствия доверия к тому, как это возможно, мой вопрос: могу ли я восстановить потерянный crontab?
centos
cron
scheduling
Мигель Мескита Альфайате
источник
источник
etckeeper
.Ответы:
Вы можете найти задания cron в журнале, если он был выполнен ранее. Проверьте
/var/log/cron
.У вас нет никакой опции восстановления, кроме сторонних инструментов восстановления.
источник
grep
с либо-o
или переданный вsed
/awk
/cut
/ etc, чтобы извлечь только команду, а затем переданный вsort -u
.awk '$5 ~ "^CROND" && $6 == "(username)" { print }' /var/log/cron | sort -t ' ' -k 8
покажет записи дляusername
отсортированных по команде, что должно упростить просмотр интервалов между ними, чтобы вы могли воссоздать их расписания.Я не уверен, что можно восстановить
crontab
файл без резервного копирования. Но я уверен, что вы можете восстановить свойcrontab
файл изcron
журналов. Насколько я помню, быстро каждая команда указана там с пользователем.источник
Если вы помните конкретную строку, вы можете выполнить поиск всего устройства, чтобы найти ваши данные обратно, при условии, что никакие другие данные не перезаписывают его. Это работает для любого файла.
Отрегулируйте -B (efore) и -A (fter) в соответствии с размером файла, но для файла cron должно хватить 100 строк. Параметр -a необходим, чтобы заставить grep рассматривать ваше устройство как текст.
Затем вам нужно будет очистить двоичный беспорядок до и после ваших данных в результирующем файле.
И это занимает много времени. Удачи.
Вы также можете сослаться на этот ответ: Восстановить / восстановить удаленные файлы | Unix & Linux Stack Exchange
источник