Найти в Дзене
BASH DAYS | Linux Factory

Как восстановить задачи из cron

Оглавление
-2

Как легко и быстро восстановить случайно удалённый crontab файл со всеми задачами. Аналогично можно восстанавливать любые файлы в linux.

Занятный случай приключился у клиента. На скрине думаю понятно, что произошло. Добро пожаловать в Linux!

Эту задачу мне удалось решить за несколько минут, не имея бэкапов я восстановил ему этот удаленный файл. Как раз способом из этого поста

👇👇👇

Bash Days | Linux | DevOps

Если кратко, я глянул в логи /var/log/cron, взял рандомную таску которая выполнялась ранее и вбил:

-3

Соответственно console import:reports это часть таски, которая когда-то выполнялась. Команда отработала и нашла мне удаленный cron файл. Копипаста и все рады. Но тут опять же повезло, что данные не перезаписались на диске.

В любом случае можно было бы восстановить по хронологии из файла /var/log/cron, но уже с приключения. Либо грепнуть CRON в syslog и journald.

На будущее сделал клиенту алиас:

-4

Этакая защита от дурака и толстых пальцев. Теперь если перепутать «e» и «r», то оно выругается и запросит подтверждение:

crontab: really delete root's crontab? (y/n)

Ну и на будущее, не забывай делать бэкапы. Хотя сколько не говори, никто не делает, пока петух не клюнет. Хотя сколько меня не клевал, я все равно зачастую забиваю, видимо уверен, что смогу всё восстановить.

Подпишись на BashDays в телеграм

Бэкап крона:

-5

Восстановить:

-6

А вообще часто советуют использовать systemd timers вместо cron или systemd-cron, мол они гибче и безопаснее. Каждый привык выбирать свои игрушки.

Всем хороших выходных. Увидимся!

Рекомендую почитать