Outils pour utilisateurs

Outils du site


informatique:crontab

La commande "crontab"

La page de man de crontab.

Variables d'environnement

Crontab charge un environnement minimal et différent de celui de root! Ça veut dire qu'il n'initialise pas un $PATH complet.

Il vaut donc mieux mettre le chemin complet vers le programme qu'on veut lancer (qu'on peut trouver avec whereis) :

# whereis certbot
certbot: /usr/local/bin/certbot

On peut voir quel sont les variables d'environnement déclarées par crontab en rajoutant cette ligne :

* * * * * env > /tmp/cronenv

Résultat :

$ cat /tmp/cronenv
 
LANGUAGE=fr_BE:fr
HOME=/root
LOGNAME=root
PATH=/usr/bin:/bin
LANG=fr_BE.UTF-8
SHELL=/bin/sh
PWD=/root

Source : sametmax.com

Activer un log spécifique

Il faut dé-commenter une ligne

# vim /etc/rsyslog.conf
(...)
cron.*             /var/log/cron.log
(...)

Sur Ubuntu, le fichier à modifier est dans un sous-dossier : /etc/rsyslog.d/50-default.conf

On relance ensuite le service :

# service rsyslog restart

Source : p3ter.fr

Utilisation de la commande "date" dans crontab

Pour utiliser la commande date dans crontab, il faut faire attention à échapper les “%” en mettant un backslash devant :

00 5 * * * cp /home/simon/mon/fichier.txt /dossier/de/backup/$(date '+\%Y-\%m-\%d')-mon-fichier.txt
informatique/crontab.txt · Dernière modification : 2020/08/09 13:03 de 127.0.0.1