Bonjour
michel@debg53sw:~$ cat /etc/anacrontab
# /etc/anacrontab: configuration file for anacron
# See anacron(8) and anacrontab(5) for details.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
HOME=/root
LOGNAME=root
# These replace cron's entries
1 5 cron.daily run-parts --report /etc/cron.daily
7 10 cron.weekly run-parts --report /etc/cron.weekly
@monthly 15 cron.monthly run-parts --report /etc/cron.monthly
michel@debg53sw:~$
Donc, le PATH par défaut étant :
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
l'accès à la commande
wget est donc possible sans avoir à spécifier son chemin absolu.
Par contre, le shell est
/bin/sh et pas
/bin/bash
=======
Le contenu de la variable
url que tu as créé contient des caractères qui pourraient être interprétés par le shell
donc il vaudra mieux la mettre entre guillemets sur la ligne de commande.
wget -O /etc/unbound/unbound.conf.d/adserver.conf "$url"
=======
Je ne vois pas l'utilité de la ligne contenant
done
qui doit sans doute provoquer une erreur vu qu'il n'y a pas de
do correspondant.
Il vaudra mieux la supprimer.
=======
Une fois le script créé, et en supposant qu'il est bien la propriété du compte
root
il ne faudra pas oublier de le rendre exécutable :
sudo chmod u+x /etc/cron.daily/unboundadserverupdate
=======
Ensuite, pour vérifier qu'il s'exécute bien,
on peut forcer
anacron à relancer ses tâches journalières avec :
sudo anacron -f cron.daily
et visualiser le contenu du fichier
/var/log/syslog
pour voir ce que ça a donné :
michel@debg53sw:~$ sudo grep cron.daily /var/log/syslog
Apr 22 07:40:06 debg53sw anacron[758]: Job `cron.daily' terminated
Apr 22 10:55:28 debg53sw anacron[1730]: Will run job `cron.daily' in 5 min.
michel@debg53sw:~$
Bon, il va me falloir attendre 5 minutes avant de vérifier que mon script a bien été lancé…
…et 5 minutes et quelques secondes plus tard :
michel@debg53sw:~$ sudo grep cron.daily /var/log/syslog
Apr 22 07:40:06 debg53sw anacron[758]: Job `cron.daily' terminated
Apr 22 10:55:28 debg53sw anacron[1730]: Will run job `cron.daily' in 5 min.
Apr 22 11:00:28 debg53sw anacron[1730]: Job `cron.daily' started
Apr 22 11:00:28 debg53sw anacron[1750]: Updated timestamp for job `cron.daily' to 2018-04-22
Apr 22 11:00:43 debg53sw anacron[1730]: Job `cron.daily' terminated (mailing output)
michel@debg53sw:~$
Et voilà : les scripts ont bien été lancés
=======
et comme, histoire de vérifier comment ça s'est passé,
j'avais ajouté dans le script, juste après la commande
wget
la ligne de commande suivante :
echo "Code retour de la commande wget : $?" > /home/michel/essais/retour.txt
je peux vérifier que la commande
wget s'est bien exécutée sans retourner d'erreur :
michel@debg53sw:~$ sudo cat /home/michel/essais/retour.txt
Code retour de la commande wget : 0
michel@debg53sw:~$