Я поспешил и забыл е в , crontab -e
прежде чем я ударил Enter.
Появилось приглашение, поэтому я закрыл Ctrl+ D, так же, как я обычно выхожу из ввода.
Теперь, без предупреждения, весь мой crontab пуст.
Почему? По какой логике это произошло? Как закрыть подсказки, кроме Ctrl+, Dчтобы ничего не сохранялось?
Ответы:
Control+Cв этом случае прервет
crontab
и не уничтожит текущие записи crontab. В противном случае голое-
является общим признаком в Unix, что ввод следует читать со стандартного ввода, и Control+Dзакрывает стандартный ввод, что приводит к пустому файлу crontab, поскольку на стандартный ввод ничего не добавлялось.Пользовательская запись в crontab в соответствии с
может помочь в борьбе с любыми такими будущими конфликтами, предоставив резервную копию данных crontab (или вы можете сойти с ума с контролем версий, или какой бы сложной ни была ваша резервная копия).
источник
Вы заменили свой crontab содержимым из stdin, который был пустым. Это по сути так же, как
crontab < /dev/null
.Нажатие Ctrl + C может быть лучшей привычкой.
Ваш crontab, скорее всего, ушел. Резервное копирование может быть где-то внутри
/var/spool/cron
, но я не знаю ни одного демона cron, который бы поддерживал резервные копии. Вы должны создать резервные копии,/var/spool/cron
если это важно для вас.источник