Quelle est la principale différence entre le répertoire cron.d (comme dans /etc/cron.d/
) et crontab
?
Autant que je sache, on pourrait créer un fichier comme /etc/cron.d/my_non_crontab_cronjobs
et y mettre tout ce que l'on veut, tout comme on le mettrait crontab
via crontab -e
.
Quelle est donc la principale différence entre les deux?
crontab
.Réponses:
Les différences sont documentées en détail dans la
cron(8)
page de manuel de Debian. La principale différence est qu'il/etc/cron.d
est rempli de fichiers séparés, alors qu'ilcrontab
gère un fichier par utilisateur; il est ainsi plus facile de gérer le contenu de l'/etc/cron.d
utilisation de scripts (pour une installation et des mises à jour automatisées), et plus facile à gérer à l'crontab
aide d'un éditeur (pour les utilisateurs finaux vraiment).D'autres différences importantes sont que toutes les distributions ne prennent pas en charge
/etc/cron.d
et que les fichiers/etc/cron.d
doivent répondre à un certain nombre d'exigences (au-delà d'être des tâches cron valides): elles doivent appartenir à root et doivent respecterrun-parts
les conventions de dénomination ( pas de points , seulement lettres, chiffres, traits de soulignement et tirets).Si vous envisagez d' utiliser
/etc/cron.d
, il est généralement utile d' envisager l' un des/etc/cron.hourly
,/etc/cron.daily
,/etc/cron.weekly
ou à la/etc/cron.monthly
place.la source
cron.d
sont généralement ajoutés via l'installation du package, tandis que les différentscrontab
fichiers sont remplis de choses créées par un utilisateur correspondant. IE, le paquetcertbot
ouletsencrypt
met une entrée dedanscron.d
- avant que le paquet ne soit disponible, le sysadmin (root) ajouterait une entrée dans l'utilisateur rootcrontab
pointant vers un script shell / etc. pour maintenir les certificats à jour.(8)
anacron
.hourly|daily|weekly|monthly
répertoires est que (AFAICT), ils s'exécutent toujours en tant que root et ne prennent pas directement en charge l'exécution avec des privilèges moindres.Je dirais que la principale différence est la plus évidente:
/etc/crontab
et/etc/cron.d
ne sont pas modifiables par les utilisateurs réguliers, contrairement aux crontabs par utilisateur dans la mesure/var/spool/cron
où l'crontab
outil est modifié . (Sous réserve decron.allow
etcron.deny
, bien sûr.) Bien sûr, sur un système dont vous êtes l'administrateur, vous pouvez utiliser l'un ou l'autre. Sur un système partagé, les utilisateurs réguliers ne peuvent en utiliser qu'un.Le champ supplémentaire dans les fichiers à l'échelle du système, le nom d'utilisateur sous lequel le travail s'exécute est lié à cela.
la source