102 lines
2.7 KiB
Plaintext
102 lines
2.7 KiB
Plaintext
====== 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.
|
|
|