6.6. Configuration de l'utilitaire cron

Contribution de Tom Rhodes.

Un des utilitaires les plus importants de FreeBSD est cron(8). L'utilitaire cron tourne en arrière plan et contrôle constamment le fichier /etc/crontab. L'utilitaire cron consulte également le répertoire /var/cron/tabs, à la recherche de nouveaux fichiers crontab. Ces fichiers crontab conservent les informations sur les tâches que cron est censé exécuter à des moments donnés.

Examinons le fichier /etc/crontab:

# /etc/crontab - root's crontab for FreeBSD
#
# $FreeBSD: src/etc/crontab,v 1.32 2002/11/22 16:13:39 tom Exp $
# (1)
#
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin (2)
HOME=/var/log
#
#
#minute heure   date    mois    jour    utilisateur commande (3)
#
#
*/5 *   *   *   *   root    /usr/libexec/atrun (4)
(1)
Comme pour la plupart des fichiers de configuration de FreeBSD, le caractère # indique un commentaire. Un commentaire peut être ajouté dans le fichier comme rappel de ce que fait une action bien précise et pourquoi elle est effectuée. Les commentaires ne peuvent être situés sur la même ligne qu'une commande ou sinon ils seront interprétés comme faisant partie de la commande; ils doivent se trouver sur une nouvelle ligne. Les lignes vides sont ignorées.
(2)
Tout d'abord, les variables d'environnement doivent être définies. Le caractère égal (=) est utilisé pour définir tout paramètre concernant l'environnement, comme dans notre exemple où il a été utilisé pour les variables SHELL, PATH, et HOME. Si la ligne concernant l'interpréteur de commande est omise, cron utilisera celui par défaut, qui est sh. Si la variable PATH est omise, il n'y aura pas de valeur par défaut utilisée et l'emplacement des fichiers devra être absolu. Si HOME est omise, cron utilisera le répertoire personnel de l'utilisateur qui l'invoque.
(3)
Cette ligne définie un total de sept champs. Sont listés ici les valeurs minute, heure, date, mois, jour, utilisateur, et commande. Ces champs sont relativement explicites. minute représente l'heure en minute à laquelle la commande sera exécutée. L'option heure est semblable à l'option minute, mais en heures. Le champ date précise le jour dans le mois. mois est similaire à heure et minute mais désigne le mois. L'option jour représente le jour de la semaine. Tous ces champs doivent être des valeurs numériques, et respecter un format horaire de vingt quatre heures. Le champ utilisateur est spécial, et n'existe que dans le fichier /etc/crontab. Ce champ précise sous quel utilisateur sera exécutée la commande. Quand un utilisateur installe son fichier crontab, il n'aura pas cette option. Pour finir, l'option commande est listée. C'est le dernier champ, qui naturellement devrait désigner la commande à exécuter.
(4)
Cette dernière ligne définie les valeurs discutées ci-dessus. Nous avons ici */5 suivi de plusieurs caractères *. Ces caractères * signifient ``premier-dernier'', et peuvent être interprétés comme voulant dire à chaque instance. Aussi, d'après cette ligne, il apparaît que la commande atrun sera invoquée par l'utilisateur root toutes les cinq minutes indépendemment du jour ou du mois. Pour plus d'informations sur la commande atrun, consultez la page de manuel de atrun(8).

N'importe quel nombre d'indicateur peut être passé à ces commandes; cependant, les commandes qui s'étendent sur de multiples lignes doivent être ``cassées'' avec le caractère, contre-oblique \, de continuation de lignes.

Ceci est la configuration de base pour chaque fichier crontab, bien qu'il y ait une différence dans celui présenté ici. Le sixième champ, où est précisé le nom d'utilisateur, n'existe que dans le fichier système /etc/crontab. Ce champ devrait être omis pour les fichiers crontab d'utilisateur.

6.6.1. Installer un fichier crontab

Pour installer un fichier crontab fraichement rédigé, utilisez simplement l'utilitaire crontab. L'usage le plus typique est:

# crontab crontab

Il existe également une option pour afficher les fichiers crontab installés, passez simplement le paramètre -l à crontab et lisez ce qui est affiché.

Pour les utilisateurs désirant créer leur fichier crontab à partir de zéro, sans utiliser de modèle, l'option crontab -e est disponible. Cela invoquera l'éditeur par défaut avec un fichier vide. Quand le fichier est sauvegardé, il sera automatiquement installé par la commande crontab.

Ce document, ainsi que d'autres peut être téléchargé sur ftp.FreeBSD.org/pub/FreeBSD/doc/.

Pour toutes questions à propos de FreeBSD, lisez la documentation avant de contacter <questions@FreeBSD.org>.
Pour les questions sur cette documentation, contactez <doc@FreeBSD.org>.