#1 Le 22/04/2018, à 08:16
- cedric5200
Tâche quotidienne /etc/cron.daily [Résolu]
Bonjour,
J'ai configurer sur un raspberry Pi avec raspbian Ubuntu MATE for Raspberry pi 2 un serveur DHCP + Unbound afin de bloquer les site publicitaire/Tracker sur tout les appareils de ma maison, et j'ai créer un script SH :
root@raspberrypi:~# cat /etc/cron.daily/unboundadserverupdate
#!/bin/bash
url="https://pgl.yoyo.org/adservers/serverlist.php?hostformat=unbound&showintro=0&mimetype=plaintext"
wget -O /etc/unbound/unbound.conf.d/adserver.conf $url
service unbound restart
done
Avec les permissions :
root@raspberrypi:~# ls -la /etc/cron.daily/unboundadserverupdate
-rwxr-xr-x 1 root root 202 avril 22 09:12 /etc/cron.daily/unboundadserverupdate
Afin de mettre a jour un fichier de domaine blacklister quotidiennement.
Le problèmes est que je n'ai pas l'impression que le fichier se mette a jour quotidiennement.
Je suis un GRAND DEBUTANT sur cron, c'est la première fois que je lui configure un script et je n'ai jamais utiliser non plus les crontab utilisateur.
je souhaite quand même conserver le script dans le dossier daily.
Alors je ne sais pas trop comment faire...
Si quelqu'un est un habitué de cron...
Merci d'avance de m'avoir lu
Dernière modification par cedric5200 (Le 23/04/2018, à 09:50)
Hors ligne
#2 Le 22/04/2018, à 08:25
- xubu1957
Re : Tâche quotidienne /etc/cron.daily [Résolu]
Bonjour,
Tu n'avais rien trouvé sur le forum > raspbian-france.fr ?
_ _ _
Suite à modification du message #1, c'est une Ubuntu Mate.
Dernière modification par xubu1957 (Le 23/04/2018, à 16:18)
Conseils pour les nouveaux demandeurs et pas qu'eux
Important : Pensez à passer vos sujets en [Réso|u] lorsque ceux-ci le sont, au début du titre en cliquant sur Modifier sous le premier message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci. Membre de Linux-Azur
En ligne
#3 Le 22/04/2018, à 08:31
- bruno
Re : Tâche quotidienne /etc/cron.daily [Résolu]
Bonjour,
Il faut mettre le chemin complet des exécutables dans une tâche exécutée via cron (ou préciser PATH) :
/usr/bin/wget -o …
/usr/sbin/service unbound restart
Dernière modification par bruno (Le 22/04/2018, à 08:32)
#4 Le 22/04/2018, à 08:46
- lann
Re : Tâche quotidienne /etc/cron.daily [Résolu]
Je ne pense pas que le cron soit en défaut
Dans cette page https://calomel.org/unbound_dns.html au chapitre Dnsspoof with yoyo.org, anti-advertising list
la méthode n'est pas du tout la même que la tienne.
Je pense que tu devrais revoir ton script
<Modéré>
Hors ligne
#5 Le 22/04/2018, à 08:53
- cedric5200
Re : Tâche quotidienne /etc/cron.daily [Résolu]
Bonjour,
Tu n'avais rien trouvé sur le forum > raspbian-france.fr ?
Voila j'ai corrigé
Je ne pense pas que le cron soit en défaut
Dans cette page https://calomel.org/unbound_dns.html au chapitre Dnsspoof with yoyo.org, anti-advertising list
la méthode n'est pas du tout la même que la tienne.Je pense que tu devrais revoir ton script
Lorsque je lance le script manuellement j'ai aucun problème de récupération de la liste et ca écrase sans problème le fichier précédent.
En plus la liste téléchargée est bien formatée pour l'utilisation avec unbound, j'ai fait un test en réel et Nslookup me renvoi bien sur 127.0.0.1 lorsque je teste un domaine dans la blacklist
Le problème que j'ai rencontré c'est que la date de la liste n'était jamais modifiée, donc je ne dispose pas de la liste a jour.
Hors ligne
#6 Le 22/04/2018, à 10:10
- MicP
Re : Tâche quotidienne /etc/cron.daily [Résolu]
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:~$
Dernière modification par MicP (Le 22/04/2018, à 10:46)
Hors ligne
#7 Le 22/04/2018, à 10:43
- diesel
Re : Tâche quotidienne /etc/cron.daily [Résolu]
Je n'ai pas tout lu, mais il semble que tu mélanges cron et anacron qui ne sont pas les mêmes logiciels, même s'ils ont la même finalité, et qui, surtout n'utilisent pas les mêmes fichiers de configuration.
[EDIT]Bon, après relecture, ça a l'air OK.[/EDIT]
Amicalement.
Jean-Marie
Dernière modification par diesel (Le 22/04/2018, à 10:46)
Je déteste qu'on cherche à me faire passer pour un con, j'y arrive déjà très bien tout seul.
Le mort, il sait pas qu'il est mort ; c'est pour les autres que c'est dur.................... Pour les cons, c'est pareil.
En ligne
#8 Le 22/04/2018, à 17:25
- cqfd93
Re : Tâche quotidienne /etc/cron.daily [Résolu]
Bonjour,
J'ai configurer sur un raspberry Pi avec raspbian Ubuntu MATE for Raspberry pi 2 …
Je comprends mal comment on peut confondre Raspbian et Ubuntu Mate ! Donne :
cat /etc/issue
uname -a
echo "${XDG_CURRENT_DESKTOP}"
− cqfd93 −
Hors ligne
#9 Le 22/04/2018, à 19:50
- bruno
Re : Tâche quotidienne /etc/cron.daily [Résolu]
Je n'ai pas tout lu, mais il semble que tu mélanges cron et anacron qui ne sont pas les mêmes logiciels, même s'ils ont la même finalité, et qui, surtout n'utilisent pas les mêmes fichiers de configuration.
Peut importe, MicP a raison les fichiers sous cron.daily sont exécutés via crontab (ou anacrontab s'il est installé) et la variable PATH est donc correctement renseignée contrairement à ce que je disais en #3.
Je ne suis pas convaincu par la modification de #1
#10 Le 23/04/2018, à 10:12
- cedric5200
Re : Tâche quotidienne /etc/cron.daily [Résolu]
Rebonjour
J'ai bien éplucher vos réponses, voila un petit résumé de tout ce qui à changé depuis le premier post :
Le script dans cron.daily a changé ($url recorigé en "$url" et le done en fin de fichier qui à été supprimé) :
root@raspberrypi:~# cat /etc/cron.daily/unboundadserverupdate
#!/bin/bash
url="https://pgl.yoyo.org/adservers/serverlist.php?hostformat=unbound&showintro=0&mimetype=plaintext"
wget -O /etc/unbound/unbound.conf.d/adserver.conf "$url"
service unbound restart
Les permissions de ce script :
root@raspberrypi:~# ls -la /etc/cron.daily/unboundadserverupdate
-rwxr-xr-x 1 root root 197 avril 23 10:45 /etc/cron.daily/unboundadserverupdate
Le log de cron après lancement des taches journalières forcées (Merci à MicP pour le anacron -f cron.daily) :
root@raspberrypi:~# cat /var/log/cron
Apr 23 10:44:51 raspberrypi anacron[6138]: Will run job `cron.daily' in 5 min.
Apr 23 10:49:51 raspberrypi anacron[6138]: Job `cron.daily' started
Apr 23 10:49:51 raspberrypi anacron[6154]: Updated timestamp for job `cron.daily' to 2018-04-23
Apr 23 10:49:56 raspberrypi anacron[6138]: Job `cron.daily' terminated (mailing output)
Apr 23 10:49:56 raspberrypi anacron[6138]: Can't find sendmail at /usr/sbin/sendmail, not mailing output
Apr 23 10:49:56 raspberrypi anacron[6138]: Normal exit (1 job run)
Et afin de bien vérifier le lancement du script, on va regarder la date de modification du fichier cible à remplacer dans le script :
root@raspberrypi:~# ls -lact /etc/unbound/unbound.conf.d/adserver.conf
-rw-r--r-- 1 root root 216822 avril 23 10:49 /etc/unbound/unbound.conf.d/adserver.conf
Ca colle bien, c'est parfait
Merci beaucoup pour tous vos conseils
PS : Et pour bien cloturer la discussion le sujet du jour est : Après tout quand il s'agit de cron; raspbian ou ubuntu quelle est la différence ? - Vous avez une heure.
Hors ligne
#11 Le 23/04/2018, à 10:25
- cedric5200
Re : Tâche quotidienne /etc/cron.daily [Résolu]
Re encore désolé de te répondre que maintenant.
Je ne pense pas que le cron soit en défaut
Dans cette page https://calomel.org/unbound_dns.html au chapitre Dnsspoof with yoyo.org, anti-advertising list
la méthode n'est pas du tout la même que la tienne.Je pense que tu devrais revoir ton script
Je préfère utiliser wget que curl, et la le but est de programmer une mise à jour automatique et quotidienne de la liste noire.
Le script en lui même fonctionne maintenant via cron (petit problème de syntaxe), et le procédé mentionné sur le lien est identique à celui que j'utilise maintenant, exception faite que je met le fichier dans /etc/unbound/unboud.conf.d plutot que directement dans /etc/unboud, ce qui m'évite d'inclure à la main dans le fichier de configuration d'unbound tous les nouveau fichier de configuration que je veux y ajouter, a savoir la résolution des noms mon réseau local, les listes de blocage (qui pourront évoluer par la suite etc...)
Hors ligne
#12 Le 23/04/2018, à 15:58
- cqfd93
Re : Tâche quotidienne /etc/cron.daily [Résolu]
PS : Et pour bien cloturer la discussion le sujet du jour est : Après tout quand il s'agit de cron; raspbian ou ubuntu quelle est la différence ? - Vous avez une heure.
Inutile de nous prendre pour des imbéciles avec ta modification du message #1 parce que bien sûr, c'était du pipeau.
Les sections de support du forum Ubuntu sont réservées à Ubuntu, pour Debian, tu as les forums Debian debian-fr, Debian-Facile debian-fr.xyz et xubu1957 t'a même donné un lien pour un forum Raspbian.
− cqfd93 −
Hors ligne
#13 Le 23/04/2018, à 18:17
- cedric5200
Re : Tâche quotidienne /etc/cron.daily [Résolu]
Je pensais simplement que l'entraide informatique sur internet ne s’arrêtait pas simplement à telle ou telle distribution, franchement il y'a une communauté française importante chez ubuntu qu'on ne retrouve pas ailleurs, et puis j'ai commencé par ubuntu, c'est quand même incroyable que si je change de système d'exploitation je dois changer de cercle simplement parce que j'ai fait un choix différent.
En arriver la surtout que je sujet était simplement la configuration d'un logiciel identique sur les deux systèmes, et que, sa solution est parfaitement exploitable pour un utilisateur d'ubuntu ou une autre distribution.
C'est quoi le problème la course à la popularité ?
Je suis pas sur que ça soit raccord avec le but initial d'ubuntu
"Ubuntu: Linux for Human Beings"
Edit:
PS : J'ai pas beaucoup participer à ce forum mais c'est avec la communauté avec laquelle j'ai le plus appris
Dernière modification par cedric5200 (Le 23/04/2018, à 18:19)
Hors ligne
#14 Le 23/04/2018, à 18:37
- cqfd93
Re : Tâche quotidienne /etc/cron.daily [Résolu]
Relis les règles du forum !
Et justement, il n'est pas question de course à la popularité et les forums des autres distributions existent et ont besoin de vivre donc que ceux qui utilisent ces distributions s'adressent à eux.
− cqfd93 −
Hors ligne
#15 Le 23/04/2018, à 19:46
- lann
Re : Tâche quotidienne /etc/cron.daily [Résolu]
Et justement, il n'est pas question de course à la popularité et les forums des autres distributions existent et ont besoin de vivre donc que ceux qui utilisent ces distributions s'adressent à eux.
C'est bien le problème. Il n'est pas sur d'avoir une réponse car ces forums sont moins actifs.
Et puis tout cela, c'est du Linux
Me tromperais-je pour Ubuntu ?
<Modéré>
Hors ligne