Accueil    Développement    LEX & YACC    Outils    Liens Web  
Linux
Configuration réseau
CRON - Plannifier ses tâches.
LILO.CONF - Comment configurer le boot de son PC
Qlqs Bases - Commandes de base
QMAIL - Ajouter un domaine
Régler l’heure - de manière générale, plus une synchro NTP.
Sécuriser Apache - v1.3.x
VI - Quelques commandes pour débuter
CRON Plannification de tâches sous Linux Impression de l'article

Planification de tâches sous Linux.

CRON est un utilitaire qui va effectuer les actions que vous lui avez ordonnées selon l’heure, le jour, le mois ...

Qu’est CRON ?

CRON regroupe trois composants :

-  Le démon "crond" ou "cron"

Le démon tourne en tâche de fond et execute une analyse du fichier "cron tables" si une commande doit être executée.

-  Les fichiers "cron tables"

Ce sont les fichiers contenant les commandes planifiées par les utilisateurs et qui doivent être lancées à intervalles réguliers. Il s’agit simplement de fichiers texte que vous pouvez visualiser avec un simple éditeur de texte.

Les "cron tables" sont chargées en mémoire par le démon "crond" et se trouvent dans le répertoire /var/spool/cron. Il en existe une par utilisateur. Par exemple, pour l’utilisateur "toto", vous trouverez le fichier /var/spool/cron/toto. En revanche, n’éditer jamais ce fichier directement. Vous devez passer par l’utilitaire "crontab" pour que le système prenne en compte les modifications.

-  La commande "crontab"

Placée dans le répertoire /usr/bin, elle permet plusieurs actions en fonction des paramètres qui suivent cette commande. Voici les principales utilisations :

> crontab -e

C’est l’action la plus utilisée. Elle ouvre l’éditeur de texte par défaut : vi et votre "cron table", si elle existe, sinon elle sera créée lorsque vous enregistrerez le fichier.

> crontab -l

Cette commande affiche simplement votre table dans le terminal. "no crontab for user " vous sera retourné si elle n’existe pas.

> crontab -r

Supprime votre crontab.

> crontab -u user

Pour éditer la table d’un autre utilisateur.

Droits d’utilisations

Vous pouvez autoriser ou refuser l’édition d’une "cron table" aux utilisateurs de votr e machibe. Si un fichier /etc/cron.allow existe alors seuls les utilisateurs listés dans ce fichier pourront utiliser la commande "crontab".

En revanche, si le fichier /etc/cron.deny existe et que /etc/cron.allow n’existe pas, les utilisateurs inscrits dans /etc/cron.deny ne pourront pas utiliser la commande "crontab".

Si aucun des deux fichiers n’existe, tous les utilisateurs de la machine pourront utiliser "Cron".

Pour créer les fichiers créer les fichiers "cron.allow" ou "cron.deny", loguez vous en root, lancez votre éditeur et saisissez un utilisateur par ligne. Enregistrez ensuite le fichier dans /etc sous le nom "cran.allow" ou "cron.deny".

Syntaxe de cron

Les commandes que le démon "crond" doit exécuter s’écrivent sur une seule ligne et doivent obligatoirement respecter la syntaxe suivante :

mm hh jj MM JJ commande option

- mm : minutes, de 0 à 59
- hh : heures, de 0 à 23
- jj : jour du mois, de 1 à 31
- MM : mois, de 1 à 12
- JJ : jour de la semaine, 0 à 6 0= dimance, 1= lundi, ...
- commande : saisissez votre commande. Par exemple, si vous voulez copier le fichier /home/toto/text.txt vers le répertoire /home/toto/archives, tapez
"cp /home/toto/text.txt /home/toto/archives"
- option : Pour écrire des informations périodiquement dans un fichier, tapez "> /mon_repertoire/nom_du_fichier". Ceci effacera le fichier "nom_du_fichier" puis inscrira les informations. Pour ne pas vider le fichier à chaque fois mais écrire à la fin de celui-ci, remplacez ">" par ">>".

mm, hh, jj, MM et JJ peuvent également être substitués par :

, : La virgule représente le "et". Pour lancer une action le 12 et le 15 du mois, tapez "12,15" à la place de jj.
- : Le tiré signifie "jusqu’à". Ainsi, "12-15" signifie du 12 au 15.
* : L’étoile représente toutes les valeurs d’un paramètre. Si vous mettez une étoile à la place de hh, l’action sera effectuée toutes les heures.
/ : Le slash vous permet de spécifier une répétition : pour tous les 3 mois, remplacez MM par */3

Edition de votre cron table

Lancez la commande "crontab -e". L’éditeur vi s’exécute. Ainsi vous pouvez utiliser toutes les commandes habituelle de cet éditeur.

Il est possible, ainsi, d’exécuter des commandes scripts bash ou perl pour générer par exemple des pages HTML pendant la nuit. Vous pouvez programmer également un rédémmarage de la machine avec la commande "/sbin/reboot" ou "shutdown -r now".

591 visiteswebmaster le 21.10.2001
Copyright 2000-2009 BUCHARD@com