CRONTAB(1)

NOM
crontab - Entretenir les fichiers crontab pour les utilisateurs individuels (Vixie cron)

SYNOPSIS

crontab [-h]

crontab [-u utilisateur] [-n] fichier

crontab [-u utilisateur] [-i] {-e | -l | -r}

DESCRIPTION

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.

Veuillez vérifier que les droits du fichier /etc/cron.allow font qu'il peut être lu par les utilisateurs autorisés. Par exémple, les droits rw- r-- r-- (644 en octal) devrait convenir.

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 -h est fournie, crontab affiche un message d'aide et quitte immédiatement.

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 » fichier crontab, c'est-à-dire le fichier crontab 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 est utilisée pour modifier la crontab en cours en utilisant sensible-editor(1). Après avoir quitté l'éditeur, la table modifiée sera installée automatiquement.

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.

PARTICULARITÉS DEBIAN

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.

METTRE EN ÉVIDENCE LA SORTIE DE CRONTAB -L

La commande crontab -l s'affiche en texte brut. Si une console (tty) peut gérer les séquences ANSI pour colorier le texte, vous pouvez mettre en évidence la sortie en appelant : crontab -l | spc -t crontab lorsque la couleur de fond du terminal est noire, ou crontab -l | spc -t crontab-light lorsqu'elle est brillante.

Le schéma de mise en évidence peut être modifié en utilisant des versions personnalisées des fichiers /etc/supercat/spcrc-crontab*.

On peut aussi colorier ce texte avec le programme batcat(1) fourni par le paquet bat, voici un exemple :

crontab -l | batcat --language Crontab

VOIR AUSSI

crontab(5), cron(8), spc(1)

FICHIERS

/etc/cron.allow, /etc/cron.deny
    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(8) interdira l'accès à tous les utilisateurs jusqu'à ce que les droits soient corrigés.

/var/spool/cron/crontabs
    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.

NORMES

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.

LIMITES

The maximum permitted length for the command field is 998 characters.

The recommended length should be less than 80 characters, like lines in readable source files. When one must use a long command, it is worth creating a dedicated script, which in turn can contain valuable comments.

DIAGNOSTICS

Un message d'aide approprié est affiché si vous invoquez crontab avec des arguments erronés.

cron(8) exige que 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(8) 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).

AUTEURS

Paul Vixie <paul@vix.com>
    A écrit cette page de manuel (1994).

Steve Greenland <stevegr@debian.org>
    Responsable du paquet (1996-2005).

Javier Fernández-Sanguino Peña <jfs@debian.org>
    Responsable du paquet (2005-2014).

Christian Kastner <ckk@debian.org>
    Responsable du paquet (2010-2016).

Georges Khaznadar <georgesk@debian.org>
    Responsable du paquet (2022-2024).

COPYRIGHT
Copyright © 1994 Paul Vixie

Distribuable librement, mais ne supprimez pas mon nom des sources ou de la documentation (ne vous appropriez pas mon travail), indiquez vos modifications (ne me rendez pas responsable de bogues potentiels), ne modifiez pas ou ne supprimez pas cette note. Vendable si le code source à construire est fourni aux acheteurs. Aucune garantie d'aucune sorte, explicite ou implicite, n'est incluse avec ce logiciel ; vous l'utilisez à vos risques et périls, l'utilisateur est pleinement responsable des dommages (s'il y en a) à des tiers du fait de l'utilisation de ce logiciel."

Depuis 1994, de nombreuses modifications ont été apportées à cette page de manuel, effectuées par les développeurs Debian responsables de cron(TM) ; leur liste figure brièvement ci-dessus, vous pouvez trouver davantage d'informations dans /usr/share/doc/cron/copyright.

TRADUCTION
La traduction française de cette page de manuel a été créée par Steve Petruzzello <dlist@bluewin.ch>, Nicolas François <nicolas.francois@centraliens.net>, David Prévot <david@tilapin.org> et Jean-Philippe MENGUAL <jpmengual@debian.org>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 (https://www.gnu.org/licenses/gpl-3.0.html) 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 à debian-l10n-french@lists.debian.org.