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

2.9 KiB
Raw Blame History

crontab

Nom de la section

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.