6

Я случайно уничтожил все свои рабочие места. Я не уверен, что я сделал. Я не помню, чтобы удалял записи из него с помощью crontab -e . Каковы возможные способы полного удаления заданий cron?

3 ответа3

14

Если вы crontab без аргументов, он читает crontab из стандартного ввода. Если вы затем наберете Control-D, он создаст пустой crontab, перезаписав ваш предыдущий crontab. (Control-C прерывает команду и оставляет ваш crontab один.)

Ответ jpmath правильно указывает на то, что crontab -r также уничтожит ваши задания cron (вот для чего он).

Я избегаю этого, никогда не используя crontab -e (редактировать crontab) или crontab без аргументов (который читает из stdin). Вместо этого я храню свои записи в crontab в отдельном файле, который я храню в системе управления версиями, и запускаю команду crontab с этим именем файла в качестве аргумента.

(Я временно забил свой собственный crontab, когда писал этот ответ, зная, что смогу его восстановить.)

5

Если вы crontab -r вместо crontab -e по ошибке (e и r находятся рядом друг с другом), ваш crontab также будет удален.

0

Вот как я подтвердил, почему я потерял свой файл crontab:

[me@myUbuntuPC ~]$ history | grep crontab
...
197  crontab
198  man crontab
198  crontab -e
...

И есть доказательства. Мой работодатель называл это "Учись после"!

Я могу подтвердить, что в Ubuntu 12.04 и 18.04 (так что я предполагаю версии между ними), если вы наберете crontab самостоятельно и нажмете ctrl-C, это также уничтожит ваш crontab.

Я не очень часто использую crontab, и при настройке новой машины моя неисправная память подсказывала мне набрать crontab на старой, чтобы просмотреть содержимое (забыв, что это crontab -e), затем я сказал: «О, это не так. право. Прекратить!"и нажмите Ctrl-C. Больше нет crontab! D'о!

Затем я просмотрел справочные страницы, мои заметки и / или Google ... (LAD, как мы привыкли говорить.)

Не уверен, что другие дистрибутивы ведут себя так с Ctrl-C.

Поэтому теперь я добавил примечания в свой файл crontab, напоминая мне «crontab -l> crontab.backup» для сохранения и «crontab crontab.backup» для восстановления. Теперь, когда пришло время построить новую Ubuntu 22.04LTS, я посмотрю на crontab.backup, надеюсь, прочитаю заметки и запомню достаточно, чтобы сделать это правильно!

Я только что протестировал систему LinHES (MythTV на базе Arch), и crontab 4.5 дает следующее:

[me@myLinHESpc ~]$ crontab
crontab 4.5
crontab file [-u user]  replace crontab from file
crontab -  [-u user]    replace crontab from stdin
crontab -l [-u user]    list crontab
crontab -e [-u user]    edit crontab
crontab -d [-u user]    delete crontab
crontab -c dir <opts>   specify crontab directory

Мне это нравится намного лучше.

Arch (и LinHES) представляют собой обновленные дистрибутивы, так что это будет отражать последние версии репозиториев на середину 2018 года.

Так что, скорее всего, вы стерли свой crontab, набрав crontab самостоятельно, и у вас нет crontab 4.5!

У меня был многолетний опыт работы с Linux, но Arch научил меня, что я очень мало знаю об этом!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .