CRONTAB(1) Commandes de l'utilisateur CRONTAB(1)

crontab - Entretenir les fichiers crontab pour les utilisateurs individuels

crontab [-u utilisateur] <fichier | ->
crontab [-T] <fichier | ->
crontab [-u utilisateur] <-l | -r | -e> [-i] [-s]
crontab -n [ nom_hôte]
crontab -c
crontab -V

crontab est le programme utilisé pour installer un fichier de table crontab, renommer ou afficher les tables existantes utilisé pour piloter le fonctionnement du démon cron(8). Chaque utilisateur peut disposer de sa propre crontab, et bien que ce soit des fichiers dans /var/spool/, ils ne sont pas conçus pour être modifiés directement. Pour SELinux en mode MLS, vous pouvez définir plus de crontab pour chaque niveau. Pour plus d'informations, voir selinux(8).

Dans cette version de Cron, il est possible d'utiliser un /var/spool/cron partagé monté sur le réseau à travers une grappe d'hôtes et en spécifiant qu'un seul hôte devrait lancer les tâches de crontab dans un répertoire particulier à une heure donnée. Vous pouvez aussi utiliser crontab à partir de n'importe quel hôte pour modifier le même ensemble partagé de fichiers crontab, puis pour définir et chercher l'hôte qui devrait lancer les tâches de crontab.

Programmer des tâches cron avec crontab peut être autorisé ou interdit pour différents utilisateurs. À cette fin, utilisez les fichiers cron.allow et cron.deny. Si le fichier cron.allow existe, un utilisateur doit y être listé pour être autorisé à utiliser crontab. Si le fichier cron.allow n'existe pas alors que cron.deny existe, un utilisateur ne doit pas être listé dans le fichier cron.deny pour utiliser crontab. Si aucun fichier n'existe, seul le superutilisateur est autorisé à utiliser crontab.

Une autre manière de restreindre la programmation de tâches cron au-delà de crontab est d'utiliser une authentification PAM dans /etc/security/access.conf pour définir les utilisateurs qui sont autorisés ou pas à utiliser crontab ou à modifier les tâches cron du système dans le répertoire /etc/cron.d/.

Le répertoire temporaire peut être défini dans une variable d'environnement. Si elle n'est pas définie par l'utilisateur, le répertoire /tmp est utilisé.

Quand on affiche une crontab dans un terminal, la sortie sera coloriée, sauf si une variable d'environnement NO_COLOR est positionnée.

Lors de la modification ou de la suppression de la crontab, une sauvegarde de la dernière crontab sera enregistrée dans $XDG_CACHE_HOME/crontab/crontab.bak ou $XDG_CACHE_HOME/crontab/crontab.<utilisateur>.bak si l'option -u est utilisée. Si la variable d'environnement XDG_CACHE_HOME n'est pas définie, $HOME/.cache sera utilisée à la place.

Spécifier le nom de l'utilisateur dont la crontab va être modifiée. Si cette option n'est pas indiquée, crontab examinera « votre » crontab, c'est-à-dire la crontab de la personne invoquant la commande. Si aucune crontab n'existe pour un utilisateur en particulier, elle est créée la première fois que la commande crontab -u est utilisée sous ce nom d'utilisateur.
Tester la syntaxe du fichier de crontab sans l'installer. Quand un problème est découvert, la validation s'interrompt, donc elle ne renverra pas tous les problèmes exitants en une exécution.
Afficher la crontab actuelle sur la sortie standard.
Supprimer la crontab actuelle.
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.
Cette option modifie le comportement de l'option -r en demandant à l'utilisateur une confirmation « y » ou « Y » avant de supprimer réellement la crontab.
Envoyer la chaîne du contexte de sécurité SELinux actuel sous forme de paramètre MLS_LEVEL dans le fichier de la crontab avant qu'il ne soit modifié ou remplacé — voir la documentation de MLS_LEVEL dans crontab(5).
Cette option n'est pertinente que si cron(8) a été démarré avec l'option -c, pour permettre la prise en charge de la gestion en grappes. Elle est utilisée pour définir l'hôte de la grappe qui devra exécuter les tâches spécifiées dans les fichiers de crontab du répertoire /var/spool/cron. Si le nom d'un hôte est fourni, l'hôte dont le nom sera renvoyé par gethostname(2) correspondra au nom fourni et sera par conséquent sélectionné pour lancer les tâches cron. Si aucun hôte de la grappe ne correspond au nom d'hôte fourni ou si vous spécifiez explicitement un nom d'hôte vide, les tâches sélectionnées ne seront pas exécutées. Si vous ne spécifiez pas de nom d'hôte, le nom de l'hôte local renvoyé par gethostname(2) sera utilisé. L'utilisation de cette option n'a aucun effet sur le fichier /etc/crontab et sur les fichiers du répertoire /etc/cron.d, lesquels sont toujours exécutés et considérés comme spécifiques à l'hôte. Pour plus d'informations sur la gestion des grappes, voir cron(8).
Cette option n'est pertinente que si cron(8) a été démarré avec l'option -c pour activer la gestion des grappes. Elle est utilisée pour chercher l'hôte de la grappe qui est prévu pour exécuter les tâches des fichiers de crontab du répertoire /var/spool/cron, celui-ci étant défini par l'option -n.
Afficher la version puis quitter.

Les fichiers cron.allow et cron.deny ne peuvent pas être utilisés pour restreindre l'exécution de tâches cron ; ils ne restreignent que l'utilisation de la crontab. Notamment, la restriction d'accès à la crontab n'a pas d'effet sur la crontab existante d'un utilisateur. Ses tâches continueront à s'exécuter jusqu'à ce que la crontab soit supprimée.

Les fichiers cron.allow et cron.deny doivent être accessibles en lecture par l'utilisateur qui lance crontab. Si tel n'est pas le cas, ils sont considérés comme inexistants.

crontab(5), cron(8)

/etc/cron.allow
/etc/cron.deny

La commande crontab est conforme à la norme IEEE Std1003.2-1992 (« POSIX ») à une exception près : pour remplacer la crontab actuelle par des données issues de l'entrée standard, - doit être spécifié sur la ligne de commande si l'entrée standard est un terminal (TTY). Cette nouvelle syntaxe diffère des versions précédentes de Vixie Cron, ainsi que de la syntaxe SVR3 classique.

Un message d'information apparaît si vous lancez une crontab avec une commande erronée dedans.

Paul Vixie
Colin Dean

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 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.

29 octobre 2019 cronie