[gentoo] crontab et script sh...

crontab et script sh... [gentoo] - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 16-06-2003 à 14:37:28    

Alors pour mettre à jour mon adresse IP sur dyndns.org, j'utilise un client qui :
- interroge mon modem/routeur pour connaitre l'IP externe;
- compare l'IP obtenue à une autre stockée dans un fichier;
- si les IP sont différentes, met à jour la nouvelle IP sur dyndns...
 
Donc très classique, l'IP est mise à jour tous les 24 heures à chaque fois qu'elle change. Par contre la vérification du changement (interrogation de mon modem) se fait toutes les 3 minutes par l'intermédiaire du crontab.
 
Voici mon crontab :
 
 # check scripts in cron.hourly, cron.daily, cron.weekly and cron.monthly
# for vixie cron
# remember to give cron a sighup when updating this file
#
# $Header: /home/cvsroot/gentoo-x86/sys-apps/vcron/files/crontab,v 1.2 2002/04/27 21:46:45 bangert Exp $
#
#
*/15 * * * *    root    test -x /usr/sbin/run-crons && /usr/sbin/run-crons
0 *  * * *      root    rm -f /var/spool/cron/lastrun/cron.hourly
0 0  * * *      root    rm -f /var/spool/cron/lastrun/cron.daily
0 0  * * 6      root    rm -f /var/spool/cron/lastrun/cron.weekly
0 0  1 * *      root    rm -f /var/spool/cron/lastrun/cron.monthly
*/3  * * * *    root    sh /root/ipcheck/ipcheck.sh
 
Et voici le script ipcheck.sh (qui fonctionne quand je le lance manuellement, sans erreur de sortie...):
 
#!/bin/sh
cd /root/ipcheck
/usr/bin/python /root/ipcheck/ipcheck.py -l -Z 1234 -w XXXXXX XXXXXX XXXXXXXXX.homelinux.net
rm -f /root/dead.letter
 
En fait tout cela fonctionne très bien, sauf que le cron envoie un mail à root à chaque ligne du cron :
 
From: root@XXXXXXX.homelinux.net (Cron Daemon)
To: root@XXXXXXX.homelinux.net
Subject: Cron <root@optiplex> root    sh /root/ipcheck/ipcheck.sh
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
Message-Id: <20030616123900.7DE54EB534@vanillefraise.homelinux.net>
Date: Mon, 16 Jun 2003 14:39:00 +0200 (CEST)
 
/bin/sh: line 1: root: command not found
 
 
Si quelqu'un pouvait me donner un coup de main, je vois pas l'erreur...
Les droits sur le scripts sont rwx pour root et vide pour les autres...

Reply

Marsh Posté le 16-06-2003 à 14:37:28   

Reply

Marsh Posté le 16-06-2003 à 14:54:42    

pk ne pas mettre ca dans cron.d ??


---------------
:: Light is Right ::
Reply

Marsh Posté le 16-06-2003 à 14:57:15    

Ca c'est pas sympa de répondre à ma question par une autre question...  :D  
 
cron.d ? Je vais me documenter un peu car je ne connais pas... :whistle:  
 
Mais y a des chances que mon erreur disparaisse ??

Reply

Marsh Posté le 16-06-2003 à 15:16:36    

en rajoutant derriere ?
>  /dev/null 2>&1

Reply

Marsh Posté le 16-06-2003 à 15:16:52    

senado a écrit :

Ca c'est pas sympa de répondre à ma question par une autre question...  :D  
 
cron.d ? Je vais me documenter un peu car je ne connais pas... :whistle:  
 
Mais y a des chances que mon erreur disparaisse ??


bah j ai deja eu des pb en editant la crontab :/
pk je sais pas :D
en fait, le script n etait pas lance, mais si je l appelais depuis "cron.d", ca marchait :heink:


---------------
:: Light is Right ::
Reply

Marsh Posté le 16-06-2003 à 15:17:07    

Mikala a écrit :

en rajoutant derriere ?
>  /dev/null 2>&1


ca change pas ke ca marchera pas :D


---------------
:: Light is Right ::
Reply

Marsh Posté le 16-06-2003 à 15:19:57    

Bah il n'aura plus de mail non ? :o)
sinon vaut mieux aller en root & faire un joli crontab -e
pour y coller son truc gerne
*/3  * * * *  /root/ipcheck/ipcheck.sh > /dev/null 2>&1

Reply

Marsh Posté le 16-06-2003 à 15:22:22    

Mikala a écrit :

Bah il n'aura plus de mail non ? :o)
sinon vaut mieux aller en root & faire un joli crontab -e
pour y coller son truc gerne
*/3  * * * *  /root/ipcheck/ipcheck.sh > /dev/null 2>&1


bah nan, il aura peut etre po de mail, mais son script sera kan meme po lance :o


---------------
:: Light is Right ::
Reply

Marsh Posté le 16-06-2003 à 15:23:44    

je part du principe que son script est bien dans /root/ipcheck & qu'il a bien un chmod genre 711 dessus :)
 

Reply

Marsh Posté le 16-06-2003 à 15:26:02    

Je me suis peut être mal exprimé, mais tout fonctionne correctement, le script est lancé et tourne sans problème. Mon problème est que la boite aux lettres du root est rempli de 600 ou 700 mails par jour... c'est plutot ça le problème...
 
Je veux bien essayer de rediriger vers /dev/null mais j'ai l'impression que je vais être obligé de le faire pour chaque ligne de mon crontab...car je crois que la première ligne merde elle aussi (alors qu'elle est là d'origine...) !
 
merci de votre aide en tout cas..

Reply

Marsh Posté le 16-06-2003 à 15:26:02   

Reply

Marsh Posté le 16-06-2003 à 15:29:07    

tomate77 a écrit :


bah nan, il aura peut etre po de mail, mais son script sera kan meme po lance :o  


tiens d'ailleurs son script devrait plutot avoir celle gueule la
 

Code :
  1. #!/bin/sh
  2. /root/ipcheck/ipcheck.py -l -Z 1234 -w XXXXXX XXXXXX XXXXXXXXX.homelinux.net

 
d'ailleurs il pourrait directement mettre le truc dans la crontab :p
genre un
*/3 * * * * /root/ipcheck/ipcheck.py -l -Z 1234 -w XXXXXX XXXXXX XXXXXXXXX.homelinux.net > /dev/null/  2>&1
avec le script python executable bien sur
apres si il se sert de son modem/routeur en temps que modem simple , il peut directement se passer de la crontab & mettre ce script dans un /etc/ppp/ip-up.d/
ou il ne sera rappellé qu'a chaque déco ;)

Reply

Marsh Posté le 16-06-2003 à 15:31:05    

senado a écrit :

Je me suis peut être mal exprimé, mais tout fonctionne correctement, le script est lancé et tourne sans problème. Mon problème est que la boite aux lettres du root est rempli de 600 ou 700 mails par jour... c'est plutot ça le problème...
 
Je veux bien essayer de rediriger vers /dev/null mais j'ai l'impression que je vais être obligé de le faire pour chaque ligne de mon crontab...car je crois que la première ligne merde elle aussi (alors qu'elle est là d'origine...) !
 
merci de votre aide en tout cas..


bah disons que si tu as une sortie a l'execution de tes scripts tu recevras un mail sauf si tu spécifies le contraire ;o) ( d'ou l'utilité du /dev/null :)
ensuite le root qui recoit les mails c'est mal :o)
vaut mieux faire un alias vers ton utilisateur principal .

Reply

Marsh Posté le 16-06-2003 à 15:34:13    

La solution serait quand même de trouver le pourquoi de cette erreur plutot que de la rediriger... Mais je ne comprends pas d'ou elle vient... :sweat:

Reply

Marsh Posté le 16-06-2003 à 15:38:51    

oue bon bah  :kaola:


---------------
:: Light is Right ::
Reply

Marsh Posté le 16-06-2003 à 15:39:42    

senado a écrit :

La solution serait quand même de trouver le pourquoi de cette erreur plutot que de la rediriger... Mais je ne comprends pas d'ou elle vient... :sweat:  


c'est pas une erreur ...
c'est ton script que tu executes qui fais une sortie txt ...
bilan cron  te mail le résultat .
si tu ne veux pas de mail de maniere général il te suffit de rajouter un  MAILTO="" dans ton fichier de crontab .

Reply

Marsh Posté le 16-06-2003 à 15:40:38    

tu peux donner ton script python s'il te plait? :jap:

Reply

Marsh Posté le 16-06-2003 à 15:40:41    

Mikala a écrit :


c'est pas une erreur ...
c'est ton script que tu executes qui fais une sortie txt ...
bilan cron  te mail le résultat .
si tu ne veux pas de mail de maniere général il te suffit de rajouter un  MAILTO="" dans ton fichier de crontab .
 


le mieux serait d utiliser ddclient ke tu peux mettre en daemon :whistle:


---------------
:: Light is Right ::
Reply

Marsh Posté le 16-06-2003 à 15:41:19    

je crois que cette ligne est une erreur :
 
/bin/sh: line 1: root: command not found
 
Je vais essayer le MAILTO :"" ...
 
 :)

Reply

Marsh Posté le 16-06-2003 à 15:42:12    

tomate77 a écrit :


le mieux serait d utiliser ddclient ke tu peux mettre en daemon :whistle:  


le bien c' est d'etre chez nerim & d'avoir une ip fixe  [:cupra]  

Reply

Marsh Posté le 16-06-2003 à 15:43:23    

Mikala a écrit :


le bien c' est d'etre chez nerim & d'avoir une ip fixe  [:cupra]  
 


ou chez free ;)
 
 
ps : je suis chez mamadou hein  + ddclient powaaa (tout est rapporte ds les logs systemes ;)) :D


---------------
:: Light is Right ::
Reply

Marsh Posté le 16-06-2003 à 15:45:25    

tomate77 a écrit :


le mieux serait d utiliser ddclient ke tu peux mettre en daemon :whistle:  


 
Je ne crois pas que ddclient marche avec mon modem/routeur/switch Zyxel Prestige 600.
 
Pour le script Python, il est vraiment trop long pour le mettre ici... Mais il n'est pas en cause... (si tu en as besoin à titre perso mp moi...)

Reply

Marsh Posté le 16-06-2003 à 15:45:55    

tomate77 a écrit :


ou chez free ;)


 :non:  
free c'est pour les djeuns :o
nerim c'est pour les autres (les gens bien ,pas vrai jowile , joce & co :p ) [:ddr555]

Reply

Marsh Posté le 16-06-2003 à 15:47:23    

senado a écrit :


 
Je ne crois pas que ddclient marche avec mon modem/routeur/switch Zyxel Prestige 600.
 
Pour le script Python, il est vraiment trop long pour le mettre ici... Mais il n'est pas en cause... (si tu en as besoin à titre perso mp moi...)


tu as essayé d'appelle directement ton script python dans  la crontab _du_ root ?
 (& pas dans ton truc général qui précise l'utilisateur a lancer :p )

Reply

Marsh Posté le 16-06-2003 à 15:47:25    

senado a écrit :


 
Je ne crois pas que ddclient marche avec mon modem/routeur/switch Zyxel Prestige 600.
 
Pour le script Python, il est vraiment trop long pour le mettre ici... Mais il n'est pas en cause... (si tu en as besoin à titre perso mp moi...)


 
ddclient utilise ifconfig ;)


---------------
:: Light is Right ::
Reply

Marsh Posté le 16-06-2003 à 15:47:44    

Mikala a écrit :


 :non:  
free c'est pour les djeuns :o
nerim c'est pour les autres (les gens bien ,pas vrai jowile , joce & co :p ) [:ddr555]  

:sarcastic:


---------------
:: Light is Right ::
Reply

Marsh Posté le 16-06-2003 à 15:48:37    

tomate77 a écrit :


 
ddclient utilise ifconfig ;)


& ifconfig il fait comment pour choper l'ip vu qu'il n'aura pas de ppp+ ? :o)
juste pour savoir hein  [:cupra]

Reply

Marsh Posté le 16-06-2003 à 15:49:40    

Mikala a écrit :


& ifconfig il fait comment pour choper l'ip vu qu'il n'aura pas de ppp+ ? :o)
juste pour savoir hein  [:cupra]  


bah il te demande si c ppp+ ou autre chose :sarcastic:


---------------
:: Light is Right ::
Reply

Marsh Posté le 16-06-2003 à 15:51:51    

tomate77 a écrit :


 
ddclient utilise ifconfig ;)


 
Non ifconfig connait pas l'adresse externe du modem/routeur...

Reply

Marsh Posté le 16-06-2003 à 15:53:20    

tomate77 a écrit :


bah il te demande si c ppp+ ou autre chose :sarcastic:  


le monsieur a dit qu'il avait un routeur ;o)
donc que c'est le routeur qui maintient la connexion, le nux derriere il ne voit que eth0 & co
& ifconfig ne lui filera jamais l'interface wan du routeur  ( a moins bien sur qu'il fasse du half bridge mais il ne l'a pas précisé donc :) )
 :whistle:

Reply

Marsh Posté le 16-06-2003 à 15:54:05    

Mikala a écrit :


le monsieur a dit qu'il avait un routeur ;o)
donc que c'est le routeur qui maintient la connexion, le nux derriere il ne voit que eth0 & co
& ifconfig ne lui filera jamais l'interface wan du routeur  ( a moins bien sur qu'il fasse du half bridge mais il ne l'a pas précisé donc :) )
 :whistle:  


 
 
 
 
 
[:dehors]


---------------
:: Light is Right ::
Reply

Marsh Posté le 16-06-2003 à 21:11:55    

Certains clients DynDns savent aller prendre l'ip dans le routeur. En fait, ils savent extraire l'ip des pages web d'administration.

Reply

Marsh Posté le 16-06-2003 à 21:47:11    

dd client fonctionne tres bien, mon routeur est lui même derriere un routeur, ca pose aucun probleme, et en plus il se lance automatiquement en client tout seul donc pas de pb de crontab


---------------
Bitcoin, Magical Thinking, and Political Ideology
Reply

Marsh Posté le 17-06-2003 à 09:11:38    

ki avait (encore) raison ?? :sol:


---------------
:: Light is Right ::
Reply

Marsh Posté le 17-06-2003 à 10:07:03    

tomate77 a écrit :

ki avait (encore) raison ?? :sol:  


 [:tetardking]  
(note bien qu'il ne s'appuie pas sur ifconfig pour se faire & c'était juste le *petit* probleme qui avait été soulevé :p )
 :hello:

Reply

Marsh Posté le 17-06-2003 à 10:08:59    

Mikala a écrit :


 [:tetardking]  
(note bien qu'il ne s'appuie pas sur ifconfig pour se faire & c'était juste le *petit* probleme qui avait été soulevé :p )
 :hello:  


oui mais j avais kan meme donne le bon nom de logiciel a utiliser [:ddr555]


---------------
:: Light is Right ::
Reply

Marsh Posté le 17-06-2003 à 10:16:56    

tomate77 a écrit :


oui mais j avais kan meme donne le bon nom de logiciel a utiliser [:ddr555]


Tout a fait  :o  
 :jap:

Reply

Marsh Posté le 18-06-2003 à 11:33:46    

Bon j'ai trouvé mon erreur tout seul... faut pas mettre "root" dans les lignes de mon crontab... Le pire c'est que le fichier d'origine a été généré par l'install de Gentoo...
 
Par contre maintenant je reçois encore un mail, pour me faire part d'un warning dans mon script python...
 
J'ai essayé :
 MAILTO ="" ça change rien
 > /root/ipchek/cron.log 2>&1 ça rempli bien le fichier, mais toujours envoi de mail...
 
D'autres idées ? (l'idéal serait de corriger le warning du script, mais j'y connais rien en Python et le script fait quand même 5000 lignes...)
 

Reply

Marsh Posté le 18-06-2003 à 16:11:42    

senado a écrit :

Bon j'ai trouvé mon erreur tout seul... faut pas mettre "root" dans les lignes de mon crontab... Le pire c'est que le fichier d'origine a été généré par l'install de Gentoo...
 
Par contre maintenant je reçois encore un mail, pour me faire part d'un warning dans mon script python...
 
J'ai essayé :
 MAILTO ="" ça change rien
 > /root/ipchek/cron.log 2>&1 ça rempli bien le fichier, mais toujours envoi de mail...
 
D'autres idées ? (l'idéal serait de corriger le warning du script, mais j'y connais rien en Python et le script fait quand même 5000 lignes...)
 
 


Tu as omis le > /dev/null/ avant le 2>&1 ;o)

Reply

Marsh Posté le 18-06-2003 à 17:07:39    

bah non, plutot que de rediriger dans le vide, je préfère savoir ce qu'il se passe, donc j'ai redirigé dans /root/ipcheck/cron.log
 

Reply

Marsh Posté le 18-06-2003 à 17:12:21    

si tu le mets _avant_ ton 2>&1 tu auras toujours tes logs dans le fichier & plus de mail a mon humble avis , tu ne pourrais pas tester simplement ?

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed