В чем разница между crontab, расположенным в, /etc/crontab
и crontab, который можно редактировать с помощью crontab -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/cron/crontabs/<username>
(vixie-cron).
Распределения на основе RHEL хранятся в /var/spool/cron/<username>
. (cronie)
/var/spool/cron/root
crontab для каждого пользователя root в системе RHEL 6. Не проверял Ubuntu, но сказать «типично» кажется немного натянутым.path[crontabs]
в библиотеке «paths» CFEngine и проверьте контекст (предыдущие строки контекста выглядят, например, какredhat::
). Там больше вариаций, чем вы думаете; например, SUSE вставляет их/var/spool/cron/tabs
. (Абстрагирование различий в дистрибутивах - одна из причин, по которой CFEngine был изначально создан, поэтому он часто является хорошим справочным материалом.)Один из них является системным crontab и может редактироваться только пользователем root, а другой является пользовательским crontab и может быть отредактирован пользователем и существует для каждого пользователя.
источник