Cron

De The Linux Craftsman
Aller à la navigation Aller à la recherche

Introduction

cron est 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. [...]

cron est un service (daemon), ce qui [...] 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 service cron (crond) attend ainsi jusqu'au moment spécifié dans le fichier de configuration (que l'on appelle la crontab) puis effectue l'action correspondante et se rendort jusqu'à l'événement suivant. [...] [1]

Utilisation de cron

Pour utiliser cron on va utiliser la commande crontab qui nous permettra d'éditer le tableau ou le démon cron prend ses informations.

Listing des tâches

Dans un premier temps on va regarder le contenu de ce fichier

# crontab -l
no crontab for root

Ajout d'un tâche

Il n'y a pas de tâches planifiées pour l'utilisateur root et nous allons en créer une !

crontab -e

* * * * * date >> /tmp/test_cron

Comme vous pouvez le deviner, cette commande va écrire dans la date dans le fichier /tmp/test_cron, mais la vrai question est: à quel intervalle ?

Vérifions:

# cat /tmp/test_cron
mar. févr. 18 06:26:01 CET 2014
mar. févr. 18 06:27:02 CET 2014
mar. févr. 18 06:28:01 CET 2014
mar. févr. 18 06:29:02 CET 2014
mar. févr. 18 06:30:01 CET 2014
mar. févr. 18 06:31:01 CET 2014
mar. févr. 18 06:32:02 CET 2014
mar. févr. 18 06:33:01 CET 2014
mar. févr. 18 06:34:02 CET 2014
mar. févr. 18 06:35:01 CET 2014

A priori, la tâche est exécutée toutes les minutes. Regardons maintenant comment on peut planifier une tâche.

Planification

La planification se découpe comme suit:

* * * * * *
  1. Description de cron sur Wikipedia