crontab |
Table de contrôle actif |
Linux |
Externe |
Syntaxe
crontab [-u user] file
|
Crontab de Paul Vixie |
crontab [-u user] [-l | -r | -e] [-i] [-s]
|
Crontab de Paul Vixie |
crontab file [-u user]
|
Remplace le crontab du fichier. Crontab de Matthew Dillon |
crontab - [-u user]
|
Remplace le crontab du stdin. Crontab de Matthew Dillon |
crontab -l [user]
|
Liste des crontab pour l'utilisateur. Crontab de Matthew Dillon |
crontab -e [user]
|
Éditer le crontab pour l'utilisateur. Crontab de Matthew Dillon |
crontab -d [user]
|
Efface le crontab pour l'utilisateur. Crontab de Matthew Dillon |
crontab -c dir
|
Répertoire spécifique du crontab. Crontab de Matthew Dillon |
Paramètres
Nom |
Description |
-u user |
Ce paramètre permet d'indiquer le nom de l'utilisateur du crontab à gérer. |
-l [user] |
Ce paramètre permet d'indiquer d'afficher la table du crontab courante sur la sortie standard. |
-r |
Ce paramètre permet d'indiquer de supprimer la table du crontab courante. |
-e [user] |
Ce paramètre permet de modifier la table du crontab courante. |
-c dir |
Ce paramètre permet d'indiquer un répertoire pour le crontab pour une commande d'interpréteur de commande valide. Une pratique courante consiste à exécuter votre commande avec exec pour garder la table de processus non encombrée. Il est également courant de rediriger la sortie vers un fichier de journal de bord. Si vous ne le faites pas et que la commande génère une sortie sur stdout ou stderr, le résultat sera envoyé à l'utilisateur en question. Si vous utilisez ce mécanisme pour des utilisateurs spéciaux, tels que UUCP, vous pouvez créer un alias permettant à l'utilisateur de diriger le courrier vers une autre personne, telle que root ou postmaster. |
-i |
Ce paramètre permet de modifier le paramètre -r pour demander à l'utilisateur une réponse «y/Y» (soit Oui) avant de supprimer la crontab. |
-s |
Ce paramètre permet d'ajouter la chaîne de caractères de contexte de sécurité SELinux actuelle en tant que paramètre MLS_LEVEL au fichier crontab avant la modification ou le remplacement. |
Description
Cette commande permet d'installer, supprimer ou d'afficher les tables pour piloter le service cron.
Chaque utilisateur peut avoir sa propre table crontab, et bien que ce soit des fichiers dans /var/spool/, ils ne sont pas destinés à être modifiés directement.
Les tâches cron peuvent être autorisées ou interdites pour différents utilisateurs. Pour le crontab classique, il existe des fichiers cron.allow et cron.deny. Si le fichier cron.allow existe, vous devez y être répertorié pour pouvoir utiliser cette commande. Si le fichier cron.allow n'existe pas mais que le fichier cron.deny existe, vous ne devez pas être répertorié dans le fichier cron.deny pour pouvoir utiliser cette commande.
Si aucun de ces fichiers n'existe, seul le super utilisateur sera autorisé à utiliser cette commande. La deuxième syntaxe de Paul Vixie est l'utilisation de l'authentification PAM, dans laquelle vous définissez des utilisateurs pouvant ou non utiliser crontab et également des tâches cron système à partir de «/etc/cron.d/».
Remarques
- La commande a plusieurs variantes comme celle de Matthew Dillon et Paul Vixie, ainsi, les paramètres ne sont pas identiques d'une variante à l'autre.
- La commande crontab est conforme à la norme IEEE Std1003.2-1992 ("POSIX"). Cette nouvelle syntaxe de commande diffère des versions précédentes de Vixie Cron, ainsi que de la syntaxe classique SVR3.
- Format crontab : Le format d'un fichier crontab constitué de plusieurs champs avec une signification spécifique pour chacun d'eux :
Position |
Emplacement |
1 |
Ce champ contient les minutes, soit une valeur entre 0 et 59. |
2 |
Ce champ contient les heures, soit une valeur entre 0 et 23. |
3 |
Ce champ contient les jours du mois, soit une valeur entre 1 et 31. |
4 |
Ce champ contient le mois, soit une valeur entre 1 et 12. |
5 |
Ce champ contient le jour de semaine, soit une valeur entre 0 et 6 et où 0=Dimanche. |
6 |
Ce champ contient la commande a exécuter. |
Chacun des champs peut être remplacé par un caractère «*», lequel signifie «premier à dernier».
- L'emplacement des fichiers crontab varient en fonction du système d'exploitation et ou de la distribution :
Tapez la commande suivante pour recharger les données indiqués dans les crontab de l'utilisateur courant :
- On peut voir si les cron jobs ont été exécuté à l'aide de la commande suivante :
Variable d'environnement
Le cron appelle la commande depuis le répertoire HOME de l'utilisateur avec l'interpréteur de commande
(/usr/bin/sh). Le cron fournit un environnement par défaut pour chaque interpréteur de commande définit comme ceci :
Variable |
Description |
HOME=user-home-directory |
Cette variable permet d'indiquer le répertoire de base de l'utilisateur. |
LOGNAME=user-login-id |
Cette variable permet d'indiquer l'identificateur de l'utilisateur. |
PATH=/usr/bin:/usr/sbin:. |
Cette variable permet d'indiquer le chemin de recherche par défaut. |
SHELL=/usr/bin/sh |
Cette variable permet d'indiquer l'emplacement de l'interpréteur de commande. |
Fichiers
Fichier |
Description |
/etc/cron.allow |
Ce fichier permet d'indiquer les utilisateurs de cronjobs actuellement autorisé. |
/etc/cron.deny |
Ce fichier permet d'indiquer les utilisateurs de cronjobs désactivé. |
Exemples
La commande permet de modifier les cronjobs actuel de l'utilisateur courant :
L'exemple suivant permet d'afficher les cron actif pour l'utilisateur courant :
Voir également
Articles - Les «cronjobs» : La puissance de la planification
Système d'exploitation - Linux - Références de commandes et de programmes - at
Système d'exploitation - Unix - Références de commandes et de programmes - crontab
Dernière mise à jour : Samedi, le 14 novembre 2015