Системный crontab:
/etc/crontab
Корневой кронтаб:
sudo crontab -u root -e
Какой способ предпочтительнее? Поскольку все они запускают задачи в рамках полномочий администратора.
/etc/crontab
это общесистемный crontab.
Формат /etc/crontab
такой:
# m h dom mon dow user command
* * * * * someuser echo 'foo'
Хотя для crontab -e
каждого пользователя стоит упомянуть, без -u
аргументов команда crontab переходит к текущему пользователю crontab. Вы можете сделать crontab -e -u <username>
для редактирования конкретного пользователя crontab.
Обратите внимание, что в crontab для каждого пользователя нет поля 'user'.
# m h dom mon dow command
* * * * * echo 'foo'
Один из аспектов crontabs, который может сбить с толку, заключается в том, что root также имеет свой собственный crontab. Например crontab -e -u root
, не будет редактировать /etc/crontab
См. Настройка cron .
В дистрибутивах Linux crontabs для каждого пользователя обычно хранятся в: /var/spool/crontabs/<username>
Ссылки
/superuser/290093/difference-between-etc-crontab-and-crontab-e
/etc/crontab
только потому, что привыкcrontab -e
/etc/cron.d (и его братья и сестры cron.daily / weekly / month) предпочтительнее для всех системных crontabs. Вам не нужно трогать / etc / crontab.
Важно разделять записи cron в нескольких файлах, основываясь на их функциональности, если вы планируете управлять или автоматизировать вещи. Файлы в /etc/cron.d могут легко управляться пакетами или инструментами управления конфигурацией, такими как puppet и chef. Crontab рута OTOH практически не поддерживается ничем, кроме людей.
Короче говоря, для системных вещей вы можете использовать /etc/cron.*. Если вы хотите, чтобы пользователь root сделал что-то, используйте crontab. / etc / crontab должен оставаться без изменений и управляться пакетом.
источник