В чем главное отличие каталога cron.d (как в /etc/cron.d/
) и crontab
?
Насколько я понимаю, можно создать файл, подобный ему, /etc/cron.d/my_non_crontab_cronjobs
и поместить в него все, что захочется, так же, как он мог бы вставить их crontab
через via crontab -e
.
Так в чем же главное отличие?
crontab
.Ответы:
Различия описаны подробно в на
cron(8)
страницах руководства в Debian. Основное отличие состоит в том, что/etc/cron.d
он заполняется отдельными файлами, тогда какcrontab
управляет одним файлом на пользователя; Таким образом, проще управлять содержимым с/etc/cron.d
помощью сценариев (для автоматической установки и обновлений), а также легче управлятьcrontab
с помощью редактора (действительно, для конечных пользователей).Другие важные различия заключаются в том, что не все дистрибутивы поддерживают
/etc/cron.d
, и что файлы/etc/cron.d
должны соответствовать определенному количеству требований (помимо того, чтобы быть действительными заданиями cron): они должны принадлежать пользователю root и должны соответствоватьrun-parts
соглашениям об именах ( только точки). буквы, цифры, подчеркивания и дефисы).Если вы планируете использовать
/etc/cron.d
, это, как правило , стоит рассмотреть один из/etc/cron.hourly
,/etc/cron.daily
,/etc/cron.weekly
или/etc/cron.monthly
вместо этого.источник
cron.d
обычно добавляются через установку пакета, тогда как различныеcrontab
файлы полны вещей, созданных соответствующим пользователем. IE,certbot
илиletsencrypt
пакет помещает запись вcron.d
- до того, как пакет стал доступен, системный администратор (root) добавил бы запись в корневом пользователе,crontab
указывающую на скрипт оболочки / etc. поддерживать сертификаты в актуальном состоянии.(8)
anacron
.hourly|daily|weekly|monthly
каталогов является то, что (AFAICT) они всегда запускаются с правами root и не поддерживают работу с меньшими правами.Я бы сказал , что основным отличием является очевидным:
/etc/crontab
и/etc/cron.d
не могут быть изменены с помощью обычных пользователей, в то время как для каждого пользователя crontabs в/var/spool/cron
том , чтоcrontab
правки инструмента, являются. (При условииcron.allow
иcron.deny
, конечно.) Конечно, в системе, где вы являетесь администратором, вы можете использовать любой из них. В общей системе обычные пользователи могут использовать только одну.С этим связано дополнительное поле в общесистемных файлах, имя пользователя, под которым выполняется задание.
источник