#1 Le 09/04/2016, à 11:18
- bonuscad
[RESOLU]Problème avec CRON !
Bonjour,
J'ai suivi un tuto pour mettre à jour le fichier hosts.
Si j’exécute le update_hosts.sh manuellement en root, cela modifie le fichier host comme convenu. (ma sauvegarde est bien concaténé au nouveau host)
Par contre je fais bien le crontab -e évoqué dans le tuto, mais dans ce cas là, la sauvegarde du fichier ~/.etchosts N'EST PAS concaténé au fichier hosts généré...
Donc je ne comprends pas la cause, il y a certainement une raison mais je vois pas du tout laquelle: une coquille dans le tuto?.
Dernière modification par bonuscad (Le 09/04/2016, à 21:25)
Hors ligne
#2 Le 09/04/2016, à 11:36
- Gaara
Re : [RESOLU]Problème avec CRON !
Salut,
Si ta commande doit s'exécuter en root, tu dois exécuter le crontab en root aussi:
sudo crontab -e
donc enlève ta ligne du crontab et mets la dans le sudo crontab.
Le tuto note bien que toutes les commandes se font en root, avec un sudo su.
Donc le crontab s'effectue bien en root
Dernière modification par Gaara (Le 09/04/2016, à 11:42)
Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid
<code>zenity --question --title "Alert" --text "Microsoft Windows has been found! Would you like to remove it?"</code>
Hors ligne
#3 Le 09/04/2016, à 12:14
- bonuscad
Re : [RESOLU]Problème avec CRON !
Je vais essayer de décrire pas à pas ce que j'ai fais; car le problème vient peut être de moi !
bruno@Dimension-8400:~$ sudo -s
[sudo] password for bruno:
root@Dimension-8400:~# cp /etc/hosts ~/.etchosts
root@Dimension-8400:~# nano /root/update_hosts.sh
GNU nano 2.2.6 Fichier : /root/update_hosts.sh
#!/bin/bash
cd /tmp
wget http://winhelp2002.mvps.org/hosts.txt
rm /etc/hosts
mv hosts.txt /etc/hosts
cat ~/.etchosts >> /etc/hosts
root@Dimension-8400:~# cd /root
root@Dimension-8400:/root# chmod +x update_hosts.sh
root@Dimension-8400:/root# crontab -e
GNU nano 2.2.6 Fichier : /tmp/crontab.LTBkpm/crontab
# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h dom mon dow command
45 21 * * * /root/update_hosts.sh
root@Dimension-8400:/root# exit
exit
bruno@Dimension-8400:~$
NB:
si je fais:
root@Dimension-8400:/root# ls
update_hosts.sh
root@Dimension-8400:/root# bash update_hosts.sh
--2016-04-09 13:09:46-- http://winhelp2002.mvps.org/hosts.txt
Résolution de winhelp2002.mvps.org (winhelp2002.mvps.org)... 216.155.126.40
Connexion vers winhelp2002.mvps.org (winhelp2002.mvps.org)|216.155.126.40|:80... connecté.
requête HTTP transmise, en attente de la réponse... 200 OK
Taille : 506641 (495K) [text/plain]
Enregistre : «hosts.txt»
100%[======================================>] 506 641 237KB/s ds 2,1s
2016-04-09 13:09:48 (237 KB/s) - «hosts.txt» enregistré [506641/506641]
root@Dimension-8400:/root#
Tout ce passe bien comme prévu.
Par contre si le jour suivant j'examine le fichier hosts généré par cron, mon fichier ~/.etchosts ne figure pas.
J'espère avoir été plus explicite sur ma démarche.
Hors ligne
#4 Le 09/04/2016, à 13:22
- Gaara
Re : [RESOLU]Problème avec CRON !
Ok.
Quelques trucs à vérifier:
-regarde dans le log si cron se lance bien
grep CRON /var/log/syslog
-sinon, ajoute bash dans ton cronjob
45 21 * * * /bin/bash /root/update_hosts.sh
-pour avoir un log de ton script, ajoute cette ligne dans ton script, on en saura peut-être plus
exec >/home/bruno/update_hosts.log 2>&1
Autre piste: ce fil indique que de mettre le chemin absolu de wget (/usr/bin/wget) dans le script ait résolu le pb...
Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid
<code>zenity --question --title "Alert" --text "Microsoft Windows has been found! Would you like to remove it?"</code>
Hors ligne
#5 Le 09/04/2016, à 14:29
- bonuscad
Re : [RESOLU]Problème avec CRON !
J'ai fais les changements recommandés (/bin/bash et exec > ) avec le cron à 15h15 (pour faire l'essai) et j'obtiens ceci:
bruno@Dimension-8400:~$ grep CRON /var/log/syslog
Apr 9 11:17:01 Dimension-8400 CRON[2861]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Apr 9 12:17:01 Dimension-8400 CRON[3613]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Apr 9 13:17:02 Dimension-8400 CRON[4052]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Apr 9 14:17:01 Dimension-8400 CRON[4632]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Apr 9 15:15:01 Dimension-8400 CRON[5412]: (root) CMD (/bin/bash /root/update_hosts.sh )
Apr 9 15:15:02 Dimension-8400 CRON[5411]: (root) MAIL (mailed 1 byte of output; but got status 0x00ff, #012)
Apr 9 15:17:01 Dimension-8400 CRON[5432]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
bruno@Dimension-8400:~$
Le fichier update_hosts.log a bien été créé mais celui ci est vide...
Le fichier host n'est pas concaténé et bizarrement il n'a pas la date d'aujourd'hui...
Je vais voir pour l'autre piste.
[Edit]
Pas mieux avec:
/usr/bin/wget http://winhelp2002.mvps.org/hosts.txt
Merci de ton aide.
Dernière modification par bonuscad (Le 09/04/2016, à 14:46)
Hors ligne
#6 Le 09/04/2016, à 16:48
- Gaara
Re : [RESOLU]Problème avec CRON !
Ben déjà on sait que ça vient du script, pas de cron.
Je soupçonne que le fichier soit bien téléchargé, mais pas dans le bon dossier (bien qu'il y aurait une erreur dans le log).
Essaie ce script
#! /bin/bash
exec >/home/bruno/update_hosts.log 2>&1
wget -P /tmp http://winhelp2002.mvps.org/hosts.txt
rm /etc/hosts
ls /tmp # pour voir dans le log si hosts.txt est bien listé
mv /tmp/hosts.txt /etc/hosts
/bin/cat /home/bruno/.etchosts >> /etc/hosts
Et vérifie dans /tmp s'il y a bien un fichier hosts.txt
Dernière modification par Gaara (Le 09/04/2016, à 19:54)
Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid
<code>zenity --question --title "Alert" --text "Microsoft Windows has been found! Would you like to remove it?"</code>
Hors ligne
#7 Le 09/04/2016, à 19:08
- bonuscad
Re : [RESOLU]Problème avec CRON !
Bon, j'ai suivi tes conseils, sauf que pour
mv /tmp/hosts.txt /etc/hosts
J'ai fais plutôt
cp /tmp/hosts.txt /etc/hosts
Et donc le fichier hosts.txt est bien dans tmp, mais le fichier hosts dans /etc n'est toujours pas concaténé?!?
Et le fichier update_hosts.log dans home est bien créé mais vide (0 octect)
J'ai l'impression que c'est cat qui merdoit avec cron, alors qu'en root le script fonctionne...
Hors ligne
#8 Le 09/04/2016, à 19:35
- Gaara
Re : [RESOLU]Problème avec CRON !
j'ai modifié le script, essaie comme ça
Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid
<code>zenity --question --title "Alert" --text "Microsoft Windows has been found! Would you like to remove it?"</code>
Hors ligne
#9 Le 09/04/2016, à 21:24
- bonuscad
Re : [RESOLU]Problème avec CRON !
Super,
/bin/cat /home/bruno/.etchosts >> /etc/hosts
à résolu le problème, le fichier .etchosts est bien concaténé.
Pour info, le fichier update_hosts.log contient bien le retour qui suit:
--2016-04-09 22:15:01-- http://winhelp2002.mvps.org/hosts.txt
Résolution de winhelp2002.mvps.org (winhelp2002.mvps.org)... 216.155.126.40
Connexion vers winhelp2002.mvps.org (winhelp2002.mvps.org)|216.155.126.40|:80... connecté.
requête HTTP transmise, en attente de la réponse... 200 OK
Taille : 506641 (495K) [text/plain]
Enregistre : «/tmp/hosts.txt»
0K .......... .......... .......... .......... .......... 10% 85,2K 5s
50K .......... .......... .......... .......... .......... 20% 327K 3s
100K .......... .......... .......... .......... .......... 30% 695K 2s
150K .......... .......... .......... .......... .......... 40% 550K 1s
200K .......... .......... .......... .......... .......... 50% 700K 1s
250K .......... .......... .......... .......... .......... 60% 679K 1s
300K .......... .......... .......... .......... .......... 70% 697K 0s
350K .......... .......... .......... .......... .......... 80% 699K 0s
400K .......... .......... .......... .......... .......... 90% 681K 0s
450K .......... .......... .......... .......... .... 100% 724K=1,3s
2016-04-09 22:15:03 (373 KB/s) - «/tmp/hosts.txt» enregistré [506641/506641]
cache2
config-err-ZNiH1r
hosts.txt
wine-76f482292ff4f79fa653b29104773613.tmp
Merci te ton aide, je passe le sujet en résolu.
Question subsidiaire?
Je trouve que faire une mise à jour journalière est un peu stupide, bien que ça mange pas de pain...
Si dans le cron je mets ceci
45 21 1 * * * /root/update_hosts.sh
Cela est correct, je ne me trompe pas, pour faire une mise à jour mensuelle?
Merci encore de m'avoir dépatouillé, bonne soirée
Hors ligne
#10 Le 09/04/2016, à 22:43
- Gaara
Re : [RESOLU]Problème avec CRON !
Cool !
Oui, en mettant le 1 le cron s'exécutera le 1er du mois, à 21h45 .
Mais il faut que 2 étoiles :
45 21 1 * * /root/update_hosts.sh
Tu peux te fier à ce tableau:
# field # meaning allowed values
# ------- ------------ --------------
# 1 minute 0-59
# 2 hour 0-23
# 3 day of month 1-31
# 4 month 1-12 (or names, see below)
# 5 day of week 0-7 (0 or 7 is Sun, or use names)
(voir ici)
bonne soirée
Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid
<code>zenity --question --title "Alert" --text "Microsoft Windows has been found! Would you like to remove it?"</code>
Hors ligne