Outils pour utilisateurs

Outils du site


logiciels:cron

Cron

Cron est un service permettant a un administrateur d'un système GNU/Linux d’exécuter régulièrement une tâche. Il est fréquemment utilisé dans les tâches d'administrations d'un système afin, par exemple, de lancer un script à heures fixes.

Cron est généralement présent dans n'importe quel système de base et est opérationnel tel quel.

Fonctionnement et configuration

L'ensemble des tâches exécutées par ce service sont décrites dans le fichier /etc/crontab.

Pour chaque tâche que le service doit lancer, une ligne doit être créée et respecter le format suivant :

m h   dom mon dow   user   command

avec :

  • m : le nombre de minutes ;
  • h : le nombre d'heures ;
  • dom : le jour du mois (day of month) ;
  • mon : le numéro du mois (month) ;
  • dow : le jour de la semaine (day of week) ;
  • user : le nom de l'utilisateur qui doit lancer la commande ;
  • command : la commande à lancer ;

Chaque champs doit être remplis soit avec un nombre, soit avec une expression. Un astérisque (*) correspond à toutes les valeurs possibles d'un champ.

Par exemple :

0 4    *  *  *      robert     /home/robert/script_backups.sh

Cette ligne lancera chaque jour de la semaine à 4h00, le script situé à l'emplacement /home/robert/script_backups.sh en utilisant les droits de l'utilisateur robert.

De la même manière, on pourra utiliser les 5 premiers champs suivants pour lancer un script chaque minute :

* *    *  *  *      robert     /home/robert/script_backups.sh

Ou encore, chaque heure :

0 *    *  *  *      robert     /home/robert/script_backups.sh

L'expression */x (avec x, un entier) signifie “toutes les x périodes”. Par exemple, pour lancer une commande 3 fois par jour (toutes les 8 heures):

0 */8    *  *  *      robert     /home/robert/script_backups.sh

Expression spéciales

Il existe d'autres expression particulières permettant de remplacer ces 5 champs :

  • @hourly : chaque heure ;
  • @daily : chaque jour à minuit ;
  • @weekly : chaque semaine, le lundi à minuit ;
  • @reboot : à chaque démarrage du serveur ;

Par exemple :

@weekly      robert     /home/robert/script_backups.sh

Voir également

logiciels/cron.txt · Dernière modification: Tue Apr 17 01:50:54 2012 par exca