qu'est-ce que run-parts dans / etc / crontab, et comment l'utiliser

26

J'ai fouillé mon système Linux. Pour essayer de comprendre comment tout cela fonctionne

Dans le fichier / etc / crontab. Je vois ce qui suit

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly

Qu'est-ce que run-parts, que fait-il et comment puis-je l'utiliser.

nelaaro
la source

Réponses:

35

Fondamentalement, run-parts(8)prend un répertoire comme argument.

Il exécutera tous les scripts trouvés dans ce répertoire. Par exemple, si vous faites une liste de /etc/cron.hourly, vous verrez que c'est un répertoire où vous pouvez mettre des fichiers exécutables à exécuter toutes les heures.

Comme vous pouvez le voir, cronil est utilisé pour plus de commodité, car vous n'avez qu'à spécifier un répertoire et tout dans ce répertoire sera exécuté. Cela facilite la gestion des scripts dans l'un des etc/cron*répertoires.

Voir sa page de manuel pour plus d'options qui pourraient être exploitées pour vos propres cas d'utilisation. Vous pouvez par exemple faire une simple vérification et montrer quels scripts seront exécutés:

run-parts -v –-test /etc/cron.hourly

Le -vdrapeau n'est peut-être pas disponible partout.

slhck
la source
1
À quoi sert la rootportion?
Jake N
1
@jakenoble rootsignifie que la commande ( run-partsdans ce cas) sera exécutée en tant qu'utilisateur root
Stefan Haberl
7
Notez que sur CentOS (au moins el5) run-parts est un script bash qui n'a aucune option, vous obtiendrez donc "-v n'est pas un répertoire". Ou du moins, c'est ce que cela m'a montré sur mon système.
Nux