====== 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 : [[http://sametmax.com/variable-denvironnement-path-et-crontab/|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 : [[https://www.p3ter.fr/activer-le-log-de-cron.html|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