Если я вставлю новый скрипт в /etc/cron.d/
как система узнает, что нужно вставить его в глобальный crontab?
Нужно ли мне перезапускать процесс, чтобы поднять его?
Делает init
запускать crontab каждую минуту, и тогда он будет повторно просканирован?
Использует ли он inotify и смотрите /etc/cron.d
?
Не мог найти ничего очевидного, и мне всегда было интересно
Из cron (8):
Additionally, cron reads the files in /etc/cron.d: it treats the files in
/etc/cron.d as in the same way as the /etc/crontab file
…
cron then wakes up every minute, examining all stored crontabs, checking each com‐
mand to see if it should be run in the current minute. When executing commands,
any output is mailed to the owner of the crontab (or to the user named in the
MAILTO environment variable in the crontab, if such exists). The children copies
of cron running these processes have their name coerced to uppercase, as will be
seen in the syslog and ps output.
Additionally, cron checks each minute to see if its spool directory's modtime (or
the modtime on /etc/crontab) has changed, and if it has, cron will then examine
the modtime on all crontabs and reload those which have changed. Thus cron need
not be restarted whenever a crontab file is modified. Note that the crontab(1)
command updates the modtime of the spool directory whenever it changes a crontab.
Также обратите внимание, что cron не «вставляет содержимое cron.d в глобальный crontab» - они независимы:
However, they are independent of /etc/crontab: they do not, for example, inherit
environment variable settings from it.