crontab - Entretenir les fichiers crontab pour les utilisateurs individuels
(Vixie cron)
crontab [ -h]
crontab [ -u utilisateur ] [-n] fichier
crontab [
-u utilisateur ] [
-i ] {
-e |
-l |
-r }
crontab est le programme utilisé pour installer,
désinstaller ou afficher le contenu des tables permettant de piloter le
fonctionnement du démon
cron(8) de Vixie Cron. Chaque
utilisateur dispose de sa propre crontab, et bien que ce soit des fichiers
dans
/var/spool/cron/crontabs, ils ne sont pas conçus pour
être modifiés directement.
Si le fichier
/etc/cron.allow existe, alors vous devez être
mentionné (un utilisateur par ligne) dans celui-ci pour pouvoir
utiliser cette commande. S'il n'existe pas, mais que le fichier
/etc/cron.deny existe, alors vous ne devez
pas être
mentionné dans celui-ci si vous désirez utiliser cette commande.
Si aucun de ces deux fichiers n'existe, alors, selon la configuration du site,
soit seul le superutilisateur a le droit d'utiliser cette commande, soit tous
les utilisateurs le peuvent.
Si les deux fichiers existent, alors
/etc/cron.allow sera prioritaire.
Cela signifie que
/etc/cron.deny n'est pas pris en compte et votre
identifiant doit être dans
/etc/cron.allow pour pouvoir utiliser
la crontab.
Indépendamment de l'existence d'un de ces fichiers, le superutilisateur
est toujours autorisé à définir une crontab. Sur les
systèmes Debian standard, tous les utilisateurs peuvent utiliser cette
commande.
Si l'option
-n est fournie, elle signifie « fais un
essai » :
crontab examine la syntaxe de
« votre » crontab et affiche un message de
succès si elle est correcte, mais rien n'est écrit dans aucune
crontab.
Si l'option
-u est indiquée, elle permet de préciser le nom
de l'utilisateur dont la crontab doit être utilisée (pour
l'affichage) ou modifiée (pour l'édition). Si cette option n'est
pas indiquée,
crontab examinera
« votre » table, c'est-à-dire la table de
la personne invoquant la commande. Remarquez qu'un appel à
su(8)
peut induire
crontab en erreur. Ainsi, si vous avez effectué un
su(8), vous devriez toujours utiliser l'option
-u par
précaution.
La première forme de cette commande sert à installer une nouvelle
crontab, en utilisant le fichier indiqué, ou l'entrée standard
si le pseudo-nom de fichier est «
- ».
Si l'option
-n est fournie, elle signifie « fais un
essai » :
crontab examine la syntaxe de
« votre » crontab et affiche un message de
succès si elle est correcte, mais rien n'est écrit dans aucune
crontab.
L'option
-l permet d'afficher la crontab en cours sur la sortie standard.
Veuillez consulter la section
PARTICULARITÉS DEBIAN ci-dessous.
L'option
-r supprime la crontab en cours.
L'option
-e permet de modifier la crontab en cours, en utilisant
l'éditeur indiqué par les variables d'environnement VISUAL ou
EDITOR. Après avoir quitté l'éditeur, la table
modifiée sera installée automatiquement. Si aucune des variables
d'environnement n'est définie, alors l'éditeur par défaut
/usr/bin/editor est utilisé.
L'option
-i modifie le comportement de l'option
-r en demandant
à l'utilisateur une confirmation « y » ou
« Y » avant de supprimer réellement la
table.
Le comportement par défaut de
crontab -l est d'afficher
l'en-tête de trois lignes « DO NOT EDIT THIS
FILE » (NE PAS MODIFIER CE FICHIER) qui est placé au
début de la crontab à son installation. Le problème est
que cela lance la séquence
crontab -l | crontab -
non idempotente, vous continuez à ajouter des copies de l'en-tête.
Cela perturbe les scripts qui utilisent sed pour modifier une crontab. Par
conséquent, le comportement par défaut de l'option
-l a
été modifié afin de ne pas afficher cet en-tête.
Vous pouvez obtenir le comportement originel en définissant la variable
d'environnement
CRONTAB_NOHEADER à
« N », ce qui aura pour effet que la commande
crontab -l affichera cet en-tête superflu.
crontab(5),
cron(8)
/etc/cron.allow
/etc/cron.deny
/var/spool/cron/crontabs
S'ils existent, les fichiers
/etc/cron.allow et
/etc/cron.deny
doivent soit être accessibles en lecture par tout le monde, soit par le
groupe « crontab ». Sans cela, cron interdira
l'accès à tous les utilisateurs jusqu'à ce que les droits
soient corrigés.
Un fichier pour chaque utilisateur est disponible dans le répertoire
/var/spool/cron/crontabs. Les utilisateurs ne sont pas autorisés
à éditer directement les fichiers de ce répertoire pour
s'assurer que seuls les utilisateurs autorisés par le système
à avoir des tâches périodiques puissent en ajouter, et
que seules des crontab syntaxiquement correctes y soient écrites. Cela
est assuré en ayant le répertoire accessible en écriture
uniquement par le groupe
crontab et en configurant la commande
crontab avec le bit setgid pour ce groupe.
La commande
crontab est conforme à la norme IEEE Std1003.2-1992
(« POSIX »). Cette nouvelle syntaxe diffère
des versions précédentes de Vixie Cron, ainsi que de la syntaxe
SVR3 classique.
Un message d'aide approprié est affiché si vous invoquez
crontab avec des arguments erronés.
Chaque entrée d'une crontab doit être terminée par un
retour à la ligne. Si la dernière entrée ne se termine
pas par un retour à la ligne, cron la considérera (au moins
partiellement) cassée et refusera de l'installer.
Les fichiers sous
/var/spool/cron/crontabs ont un nom fondé sur le
nom du compte de l'utilisateur. Les tâches de la crontab ne seront pas
exécutées pour les utilisateurs dont les comptes ont
été renommés suite à un changement dans le
système local ou parce qu'ils sont gérés par une base de
données centrale (externe au système comme un annuaire LDAP).
Paul Vixie <
[email protected]> est l'auteur de
cron(8) et de cette page
de manuel. Cette page a ensuite été modifiée pour Debian
par Steve Greenland, Javier Fernandez-Sanguino et Christian Kastner.
La traduction française de cette page de manuel a été
créée par Steve Petruzzello <
[email protected]>, Nicolas
François <
[email protected]>, David Prévot
<
[email protected]> et Jean-Philippe MENGUAL
<
[email protected]>
Cette traduction est une documentation libre ; veuillez vous reporter
à la
GNU
General Public License version 3 concernant les conditions de copie
et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel,
veuillez envoyer un message à
[email protected]