web-dev-qa-db-fra.com

Emplacement du fichier crontab

autant (la plupart?) d'autres, j'édite ma crontab via crontab -e, où je conserve toutes les opérations de routine telles que la sauvegarde incrémentielle, ntpdate, diverses opérations rsync, ainsi que le thème de Noël de mon bureau une fois par an. D'après ce que j'ai compris, lors d'une nouvelle installation ou d'un nouvel utilisateur, cela crée également automatiquement le fichier s'il n'existe pas. Cependant, je veux copier ce fichier vers un autre utilisateur, alors où est le fichier réel que je modifie?

Si cela varie entre les distributions, j'utilise Centos5 et Mint 17

55
Jarmund

L'emplacement des fichiers cron pour les utilisateurs individuels est /var/spool/cron/crontabs/.
De man crontab:

Chaque utilisateur peut avoir sa propre crontab, et bien qu'il s'agisse de fichiers dans /var/spool/cron/crontabs, ils ne sont pas destinés à être modifiés directement.

59
heemayl

heemayl a raison sur l'emplacement des fichiers crontab sous Linux, mais il peut être différent sur d'autres systèmes d'exploitation et "théoriquement" il pourrait également se trouver dans un emplacement différent sous Linux. Essentiellement, lorsqu'une interface spéciale est fournie pour accéder aux fichiers, vous devez l'utiliser. Cela garantira que cron vérifie les fichiers avant de les installer, s'assure que les fichiers ont les autorisations dont ils ont besoin, etc ...

Par conséquent, vous devez copier une crontab d'un utilisateur à un autre en utilisant cette interface, comme celle-ci, pas en accédant directement aux fichiers.

crontab -u <user1> -l | crontab -u <user2>
35
Celada