News | About | Get Frugalware | Packages | Documentation | Discussion Forums | Bug Tracker | Wiki | Community | Development

Cron (Français)

From FrugalWiki

Jump to: navigation, search


Contents

Programmer des tâches avec CRON

cron (dérivé de chronographe) est le nom d'un programme qui permet aux utilisateurs des systèmes Unix d'exécuter automatiquement des scripts, des commandes ou des logiciels à une date et une heure spécifiées à l'avance, ou selon un cycle défini à l'avance. Le nom est dérivé du grec chronos (χρόνος), signifiant le temps.

Il s'agit d'une fonctionnalité très utile pour des tâches routinières d'administration système, mais elle peut très bien être exploitée pour tout autre chose. Par exemple, on peut demander à cron de jouer tel fichier mp3 tous les jours à sept heures sauf le samedi et le dimanche afin de se réveiller en musique.

Cron est un démon (daemon), ce qui ─ dans le jargon Unix ─ désigne un programme qu'on ne lance qu'une seule fois après le démarrage de l'ordinateur et qui reste en tâche de fond en attendant qu'on ait besoin de lui. Le démon cron (crond) attend ainsi jusqu'au moment spécifié dans le fichier de configuration (éditable par le programme crontab) puis effectue l'action correspondante et se rendort jusqu'à l'événement suivant.

Documentation sur crontab

La page man est disponible avec la commande

User terminal 48px.png
$ man 5 crontab


Utilisation de crontab

Pour regarder le contenu de votre crontab ,tapez:

User terminal 48px.png
$ crontab -l

Pour éditer le fichier de votre crontab, tapez:

User terminal 48px.png
$ crontab -e

Cette commande a pour effet de lancer l'éditeur par défaut (en général vi) présentant la table actuelle (donc aucune s'il s'agit du premier lancement de crontab).

Chaque entrée de la table (chaque ligne) correspond à une tâche à exécuter et est notée de la façon suivante:

 mm hh jj MMM JJJ tâche > log

Dans cette syntaxe:

  • mm représente les minutes (de 0 à 59)
  • hh représente l'heure (de 0 à 23)
  • jj représente le numéro du jour du mois (de 1 à 31)
  • MMM représente le numéro du mois (de 1 à 12) ou l'abréviation du nom du mois (jan, feb, mar, apr, …)
  • JJJ représente l'abréviation du nom du jour ou le chiffre correspondant au jour de la semaine (0 représente le dimanche, 1 représente le lundi, …)
  • tâche représente la commande ou le script shell à exécuter
  • log représente le nom d'un fichier dans lequel stocker le journal des opérations. Si la clause> log n'est pas spécifiée, cron enverra automatiquement un courriel de confirmation. Pour éviter cela il suffit de spécifier > /dev/null

Pour chaque unité de temps (minute/heure/…) les notations sont possibles:

  • * : a chaque unité de temps
  • 2-5 : les unités de temps (2,3,4,5)
  • */3 : toutes les 3 unités de temps (0,3,6,…)
  • 5,8 : les unités de temps 5 et 8

Si sur la même ligne on trouve précisées une unité de temps “numéro du jour du mois” et une unité de temps “jour de la semaine”, celles-ci sont considérées par crontab comme cumulatives.

Quand vous sortez de l'éditeur, le nouveau fichier crontab sera installé. Le fichier est stocké dans /var/spool/cron/crontabs/<user> mais doit seulement être édité par l'intermédiaire de la commande crontab.

Sources

http://doc.ubuntu-fr.org/cron

http://fr.wikipedia.org/wiki/Crontab

Personal tools
Namespaces
Variants
Actions