informatique:linux:commandes:cron

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
informatique:linux:commandes:cron [2021/01/16 04:02] – ↷ Page déplacée de informatique:se:linux:commandes:cron à informatique:linux:commandes:cron Cédric ABONNELinformatique:linux:commandes:cron [2023/02/18 16:06] (Version actuelle) Cédric ABONNEL
Ligne 1: Ligne 1:
 +====== crontab ======
 +{{ :dummy.png?75x75|Nom de la section}}
 +Programme Unix qui exécute toutes les minutes un ensemble de taches prédéterminées.
 +
 +Sous Linux, le programme **cron** s'appelle **crontab**, concaténation de **c**h**ron**o **tab**le, "table de planification". Il est exécuté par **root** et permet de s'adapter à l'identité à chacun des utilisateurs.
 +
 +===== - Liste la table des tâches =====
 +
 +Afficher la liste des tâches pour l'utilisateur connecté
 +
 +<code>
 +crontab -l
 +</code>
 +
 +===== - Mots clés =====
 +
 +Des mots-clé peuvent remplacer le code horaire.
 +
 +^ mot-clé ^ description ^ équivalent ^
 +| @reboot  | Au démarrage  | Aucun  |
 +| @yearly  | Tous les ans  | 0 0 1 1 * |
 +| @annually  | Tous les ans  | 0 0 1 1 * |
 +| @monthly  | Tous les mois  | 0 0 1 * * |
 +| @weekly  | Toutes les semaines  | 0 0 * * 0 |
 +| @daily  | Tous les jours  | 0 0 * * * |
 +| @midnight  | Toutes les nuits  | 0 0 * * * |
 +| @hourly  | Toutes les heures  | 0 * * * * |
 +
 +
 +===== - Éditer la tables des tâches =====
 +
 +Éditer la liste des tâches pour l'utilisateur connecté
 +
 +<code>
 +crontab -e
 +</code>
 +
 +L'éditeur par défaut est exécuté pour éditer la table des tâches. Il est modifiable grâce à la variable d'environnement :
 +<code>
 +$ export EDITOR=nano
 +</code>
 +
 +
 +
 +===== - Supprimer la tables des tâches =====
 +
 +Supprimer la liste des tâches pour l'utilisateur connecté
 +
 +<code>
 +crontab -r
 +</code>
 +
 +
 +
 +===== - Remplacer la tables des tâches =====
 +
 +Remplacer la liste des tâches pour l'utilisateur connecté par une nouvelle table contenu dans ''<fichier>''
 +
 +<code>
 +crontab <fichier>
 +</code>
 +
 +
 +
 +===== - Journalisation =====
 +
 +La sortie standard pour une tache **cron** est l'envoi d'un mail. Pour modifier la sortie, il faut utiliser la syntaxe suivante :
 +
 +<code>
 +mm hh jj MMM JJJ tâche  > fichier1  2> fichier2
 +</code>
 +
 +  * ''fichier1'' contient la sortie standard
 +  * ''fichier2'' contient l'erreur standard
 +
 +Par exemple, pour ne rien afficher :
 +<code>
 +>/dev/null 2>&1
 +</code>
 +
 +**Afficher l'horaire de la dernière tâche exécutée** pour l'ensemble des utilisateurs :
 +<code>
 +ls -lut /etc/init.d/cron
 +</code>
 +
 +**Extraire du journal du système** les informations concernant la table **cron** :
 +<code>
 +grep -w cron /var/log/syslog
 +</code>
 +
 +
 +===== - + d'infos =====
 +
 +Les informations de planification sont stockées dans un fichier relatif à l'utilisateur. Par exemple :
 +  * ''/var/spool/cron/crontabs/<utilisateur>'' sous Debian, MX Linux
 +  * ''/var/spool/cron/<utilisateur>'' sous Red Hat, Fedora et Cent OS
 +
 +En plus, il existe un table cron centralisée dans ''/etc/crontab''.
 +
 +Pour un poste de travail ne fonctionnant pas forcément toute une journée, l'application **anacron** permet de lancer les commandes qui dû l'être lorsque l'ordinateur était éteint.
 +