Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 smile

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ésolu] 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)

Hors ligne

#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

Hors ligne

#5 Le 22/04/2018, à 08:53

cedric5200

Re : Tâche quotidienne /etc/cron.daily [Résolu]

xubu1957 a écrit :

Bonjour,

Tu n'avais rien trouvé sur le forum > raspbian-france.fr ?

Voila j'ai corrigé

lann a écrit :

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.

Hors ligne

#8 Le 22/04/2018, à 17:25

cqfd93

Re : Tâche quotidienne /etc/cron.daily [Résolu]

Bonjour,

cedric5200 a écrit :

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]

diesel83140 a écrit :

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 wink

Hors ligne

#10 Le 23/04/2018, à 10:12

cedric5200

Re : Tâche quotidienne /etc/cron.daily [Résolu]

Rebonjour smile

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 smile

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.

lann a écrit :

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]

cedric5200 a écrit :

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]

cqfd93 a écrit :

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 ?

Hors ligne