informatique:crontab
Table des matières
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