This is an archive of past FreeBSD releases; it's part of the FreeBSD Documentation Archive.
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.
L'utilitaire cron utilise deux types
différents de fichiers de configuration, le fichier
crontab système et les
crontabs des utilisateurs. La seule
différence entre ces deux formats est le sixième
champ. Dans le fichier crontab
système, le sixième champ est le nom de
l'utilisateur sous lequel doit être exécutée
la commande. Cela donne la possibilité au fichier
crontab système d'exécuter les
commandes sous n'importe quel utilisateur. Dans le fichier
crontab d'un utilisateur, le sixième
champ est la commande a exécuter et toutes les commandes
sont exécutées sous l'utilisateur qui a
créé le fichier crontab; c'est
un aspect sécurité important.
Les fichiers crontab utilisateur
permettent aux utilisateurs de planifier l'exécution de
tâches sans avoir besoin des privilèges du
super-utilisateur root. Les commandes
contenues dans le fichier crontab d'un
utilisateur s'exécutent avec les privilèges de
l'utilisateur auquel appartient ce fichier.
Le super-utilisateur root peut
posséder un fichier crontab
utilisateur comme tout autre utilisateur. Ce fichier est
différent de /etc/crontab (le
crontab système). En raison de
l'existence du fichier crontab
système, il n'y a généralement pas besoin
d'un fichier crontab utilisateur pour
root.
Examinons le fichier
/etc/crontab (fichier
crontab système):
# /etc/crontab - root's crontab for FreeBSD # # $FreeBSD: src/etc/crontab,v 1.32 2002/11/22 16:13:39 tom Exp $ ## SHELL=/bin/sh PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
HOME=/var/log # # #minute heure date mois jour utilisateur commande
# # */5 * * * * root /usr/libexec/atrun
![]()
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.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 variablesSHELL,PATH, etHOME. Si la ligne concernant l'interpréteur de commande est omise,cronutilisera celui par défaut, qui estsh. Si la variablePATHest omise, il n'y aura pas de valeur par défaut utilisée et l'emplacement des fichiers devra être absolu. SiHOMEest omise,cronutilisera le répertoire personnel de l'utilisateur qui l'invoque.Cette ligne définie un total de sept champs. Sont listés ici les valeurs
minute,heure,date,mois,jour,utilisateur, etcommande. Ces champs sont relativement explicites.minutereprésente l'heure en minute à laquelle la commande sera exécutée. L'optionheureest semblable à l'optionminute, mais en heures. Le champdateprécise le jour dans le mois.moisest similaire àheureetminutemais désigne le mois. L'optionjourrepré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 champutilisateurest 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 fichiercrontab, il n'aura pas cette option. Pour finir, l'optioncommandeest listée. C'est le dernier champ, qui naturellement devrait désigner la commande à exécuter.Cette dernière ligne définie les valeurs discutées ci-dessus. Nous avons ici
*/5suivi 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 commandeatrunsera invoquée par l'utilisateurroottoutes les cinq minutes indépendamment du jour ou du mois. Pour plus d'informations sur la commandeatrun, 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.
Vous ne devez pas utiliser la procédure
décrite ci-dessous pour éditer/installer le
fichier crontab système. Utilisez
directement votre éditeur: l'utilitaire
cron remarquera le changement au niveau de ce
fichier et utilisera immédiatement la nouvelle version.
Consultez cette
entrée de la FAQ pour plus d'information.
Pour installer un fichier crontab
utilisateur fraîchement rédigé, tout d'abord
utilisez votre éditeur favori pour créer un
fichier dans le bon format, ensuite utilisez
l'utilitaire crontab. L'usage le plus
typique est:
#crontab fichier-crontab
Dans cet exemple, fichier-crontab est
le nom d'un fichier crontab qui a
été précédemment
créé.
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.
Si vous désirez plus tard effacer votre
crontab utilisateur complètement,
utilisez la commande crontab avec l'option
-r.
Ce document, ainsi que d'autres peut être téléchargé sur ftp://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>.