Files
abonnel-www/daa32dd7-4917-4a4a-80ba-fd33257ee9ec/revisions/0002.md
T
2026-05-16 23:22:07 +02:00

116 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# crontab
![Nom de la section](dummy.png)
**cron** est un démon Unix qui exécute, chaque minute, les tâches planifiées par les utilisateurs. La commande **crontab** (contraction de *chrono table*, « table de planification ») permet de consulter et modifier ces tâches.
Chaque utilisateur dispose de sa propre table ; le démon `cron`, lancé par **root**, exécute chaque tâche sous l'identité de son propriétaire.
## Format d'une ligne
Chaque ligne d'une crontab suit le format suivant :
```
mm hh jj MMM JJJ commande
```
| Champ | Plage | Description |
| ----- | ----- | ----------- |
| `mm` | 059 | Minute |
| `hh` | 023 | Heure |
| `jj` | 131 | Jour du mois |
| `MMM` | 112 | Mois |
| `JJJ` | 06 | Jour de la semaine (0 = dimanche) |
## Lister les tâches
Afficher la table de l'utilisateur connecté :
```
crontab -l
```
## Mots-clés
Plusieurs mots-clés 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 table
Ouvrir la crontab de l'utilisateur connecté dans l'éditeur par défaut :
```
crontab -e
```
L'éditeur utilisé peut être modifié via la variable d'environnement `EDITOR` :
```
$ export EDITOR=nano
```
## Supprimer la table
```
crontab -r
```
## Remplacer la table
Remplacer la table courante par le contenu d'un fichier :
```
crontab <fichier>
```
## Rediriger les sorties
Par défaut, la sortie standard d'une tâche `cron` est envoyée par mail à son propriétaire. Pour la rediriger, on utilise la syntaxe shell habituelle :
```
mm hh jj MMM JJJ tâche > fichier1 2> fichier2
```
- `fichier1` reçoit la sortie standard
- `fichier2` reçoit l'erreur standard
Pour ignorer toute sortie :
```
>/dev/null 2>&1
```
## Inspecter l'activité
Afficher la date du dernier accès au script de `cron` (indicateur approximatif d'activité) :
```
ls -lut /etc/init.d/cron
```
Extraire les lignes relatives à `cron` dans le journal système :
```
grep -w cron /var/log/syslog
```
## Pour aller plus loin
Les tables sont stockées dans un fichier propre à chaque utilisateur :
- `/var/spool/cron/crontabs/<utilisateur>` sous Debian, MX Linux
- `/var/spool/cron/<utilisateur>` sous Red Hat, Fedora et CentOS
Une table système centralisée existe également dans `/etc/crontab`.
Pour les postes qui ne restent pas allumés en permanence, l'utilitaire **anacron** prend le relais : il exécute, au démarrage, les tâches qui auraient dû tourner pendant que la machine était éteinte.