Il peut être utile de noter que les tâches figurant dans une crontab personnelle ( crontab -e
) sont toujours exécutés en tant que leur propriétaire, alors que /etc/crontab
contient un élément obligatoire supplémentaire <user>
permettant à un administrateur de configurer le travail pour qu'il s'exécute en tant qu'utilisateur non root.
La modification de la crontab du système ou la création d'une crontab personnelle pour root sont probablement un peu plus portables, ne sont pas spécifiques à certaines distributions Linux et sont sans doute plus pratiques pour une personne à maintenir, avec tous les travaux dans un seul fichier mais :
Personnellement, je suis favorable à une troisième option : pour chaque dépôt de tâche programmée, soit
- un fichier dans
/etc/cron.d/
avec un extrait de cron
- un exécutable (script) dans l'espace de travail correspondant.
/etc/cron.[hourly |daily |weekly |monthly]
répertoire.
C'est plus facile à script (vous pouvez simplement créer/écraser/supprimer de tels fichiers et vous n'avez pas à vous mêler du contenu d'un seul fichier crontab) et cela fonctionne bien avec les outils de gestion de la configuration et c'est ce que les gestionnaires de paquets font déjà de toute façon.
Jobs/scripts dans /etc/cron.[hourly |daily |weekly |monthly]
sont toujours exécutés en tant que root, alors que les snippets cron dans /etc/cron.d/
permet à la fois de définir un programme personnalisé et de fonctionner en tant qu'utilisateur différent avec le même programme obligatoire. <user>
trouvé dans le champ /etc/crontab
.