параметры для редактирования и удаления не должны быть рядом друг с другом на клавиатуре. Слишком легко ошибиться, чтобы совершить быструю расправу.
einstiien
это именно то, что случилось со мной.
Ответы:
9
Попробуйте посмотреть / var / log / cron, чтобы увидеть, что было запущено, а затем попытаться воссоздать crontab из этого. Это грязно, но вы должны быть в состоянии восстановить все, что ранее запускалось. Не так много удачи для новых предметов, хотя. Удачи!
Почему это было дано -1? Это прямой ответ на вопрос.
Дэн Грин-Лейпцигер
Я использовал твой сценарий. Удивительно, большое спасибо!
МэВ
Сценарий PHP не работает должным образом для команд, содержащих закрывающую скобку. Исправлено и перенесено на bash:zgrep -F "($USER) CMD (" /var/log/syslog* | cut -d\( -f3- | sort -u | while read cmd ; do echo ${cmd::-1} ; done
Разбитое соединение
1
У вас есть варианты, но ни один из них не особенно хорош. Если вы не подумали об этом, если у вас есть последняя версия на компьютере разработчика, вы можете скопировать ее оттуда ... Я говорю это только потому, что часто забываю о копиях, которые могут быть на других машинах, поэтому Я предполагаю, что вы уже попробовали это.
Если ваш файл слишком сильно настроен для того, чтобы просто перестроить его на практике, вы всегда можете попробовать низкоуровневую экспертизу. Попробуйте поискать учебники, основанные на Sleuthkit и UFS Explorer. Люди, использующие эти инструменты, находят самые разные степени с точки зрения простоты использования и показателей успешности, как обычно, YMMV.
Тьфу не могу оставить комментарий к первоначальному вопросу, но сотрудник только что показал мне отличный инструмент: создайте псевдоним во всем, что .profileвы используете, crontabчтобы быть crontab -i. -iФлаг запрашивает подтверждение перед удалением.
Таким образом, если вы это сделаете, crontab -eон продолжит редактировать как обычно, но если вы случайно это сделаете, crontab -rвас встретят с запросом подтверждения.
Ответы:
Попробуйте посмотреть / 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/*
.Скрипт для полного восстановления crontab
Я сделал PHP-скрипт, который полностью восстанавливает ваш crontab, основываясь на журнале.
Он выводит один экземпляр каждой команды cron, запущенной пользователем за последнюю неделю.
Я положил это здесь
https://github.com/dangreenisrael/recover_crontab
Вот пример вывода:
источник
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
вас встретят с запросом подтверждения.источник
Я так не думаю. Пришло время начать резервное копирование этого важного файла (со всеми остальными в / etc / var / spool / home ...).
источник