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

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 smile


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