Нужно ли что-то обновлять или перезапускать после добавления / обновления crontab в Ubuntu Server 8.04?

32

Когда вы что-то меняете в Apache, вам нужно перезагрузить или перезапустить apache. Нужно ли что-либо обновлять или перезапускать в Ubuntu Server 8.04 после добавления / обновления crontab? Большое спасибо за вашу помощь.

RayJamesFun
источник

Ответы:

40

Нет. Пока вы используете crontab -eкоманду для редактирования файла, при сохранении вы получите сообщение «Новый Crontab установлен». Вот и все.

Safado
источник
1
То же самое относится crontab <filename>и к crontab -r, и в этом отношении.
Кит Томпсон
4
Но что, если вы не использовали crontab -eдля редактирования файла?
user5359531
Он все равно должен работать, если вы редактировали файл напрямую, при условии, что у вас есть для этого разрешения. Все еще рекомендуется использовать команду crontab.
Safado
@ user5359531 Если вы хотите перезапустить cron по какой-либо причине (что приведет к перезагрузке файлов crontab), посмотрите этот SO вопрос: stackoverflow.com/questions/10193788/…
JoLoCo
6

Обычная вещь, чтобы использовать crontab -eдля редактирования таблиц. Изменения будут применены при выходе из редактора. В противном случае правила перечитывания измененных crontabs находятся на cron(8)странице руководства . Они будут перечитаны в конце концов, вам не нужно ничего делать.

AnonymousCoward
источник
2

Важно, чтобы вы уточнили, КАК / ГДЕ вы добавляете кроны. Но я думаю, что следующее относится к любой ситуации.

Да, cronнужно знать, что вы внесли изменения, но нет, вам не обязательно явно что-то делать для его обновления.

Я перефразирую cronруководство здесь для краткой версии:

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

Тем не менее, cron«просыпается» каждую минуту, чтобы увидеть, есть ли у него задачи на эту минуту. Он также сканирует /var/spool/cron/crontabsи перезагружает любые файлы с обновленным mtime (измененное время, то есть содержимое файла должно быть обновлено).

Так что теоретически, если вы ничего не делаете, cron«проснетесь» и увидите, что вы внесли изменения во что-либо непосредственно в /var/spool/cron/crontabs.

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

    crontab: installing new crontab

В частности, это означает, что он обновил свою копию в памяти для файла, который вы только что отредактировали crontab.

Вот цитата из руководства CRON (8):

    cron searches its spool area (/var/spool/cron/crontabs) for
    crontab files (which are named after accounts in /etc/passwd);
    crontabs found are loaded into memory.  Note that crontabs in this
    directory should not be accessed directly - the crontab command
    should be used to access and update them.
Уилбур Уэйтли
источник