Crontab [RESOLU]

Crontab [RESOLU] - Linux et OS Alternatifs

Marsh Posté le 26-11-2004 à 16:46:59    

Bonjour les gens.  
 
G un petit souci avec crontab.  
 
Ya un petit script que je souhaite executer toutes les 5 min.  
Ce script, lancé a la main, marche correctement.  
 
Par contre, quand je le lance depuis le crontab, il ne finit pas de s'executer.  
En faisant "ps -aux", je vois qu'il me lance le script 3 fois alors que je ne l'appelle qu'une seule fois (il n'y a pas de recurrence dans mon script).  
D'après le "ps -aux", il y a un probleme au niveau d'une des deux boucles "while" (il apparait un cut -d' ' -f5420), mais ce probleme de boucle n'apparait pas quand on lance le script a la main.  
 
donc le probleme semble venir d'une des boucles, mais je vois où.. :(  
 

Code :
  1. #! /bin/sh
  2. PARAM="emplacement/param.txt"
  3. SERVEUR="emplacement/serveur.txt"
  4. echo $1 | tr '/' ' '  > $PARAM
  5. param=`wc -w $PARAM | tr ' ' '/' | cut -d'/' -f1`
  6. i=2
  7. while [ "$param" == "" ]
  8. do
  9. param=`wc -w $PARAM | cut -d' ' -f${i}`
  10. i=`expr $i + 1`
  11. done
  12. var[1]=`more $PARAM | cut -d' ' -f1`
  13. i=1
  14. while [ "${var[${i}]}" != "" ]
  15. do
  16.     i=`expr $i + 1`
  17.     var[${i}]=`more $PARAM | cut -d' ' -f${i}`
  18. done
  19. echo "" > $SERVEUR
  20. n=1
  21. while [ "${var[${n}]}" != "" ]
  22. do
  23. ip=`ping -c 1 ${var[${n}]} | head -1 | tr '(' '/' | tr ')' '/' | cut -d'/' -f2`
  24. ping -c 1 "${var[${n}]}" | grep "round-trip"
  25. if [ $? == "0" ]
  26. then {
  27.      echo "${var[${n}]}/${ip}/1/" >> $SERVEUR
  28.      }
  29. else {
  30.      echo "${var[${n}]}/${ip}/0/" >> $SERVEUR
  31.      }
  32. fi
  33. n=`expr $n + 1`
  34. done
  35. rm $PARAM


 
si qqun peut me depanner... :)


Message édité par breton_a le 06-12-2004 à 10:30:52
Reply

Marsh Posté le 26-11-2004 à 16:46:59   

Reply

Marsh Posté le 26-11-2004 à 18:33:54    

Est-ce que ton script fonctionne quand tu le lances à la main avec LANG=C ?

Reply

Marsh Posté le 29-11-2004 à 09:22:38    

ouep, ca marche avec LANG=C

Reply

Marsh Posté le 29-11-2004 à 09:47:30    

enfin je veux dire que ca marche a la main mais toujours po avec crontab...

Reply

Marsh Posté le 06-12-2004 à 10:31:40    

en fait, il suffisait d'utiliser la commande "more" par la commande "cat" :s
 
Voila voila.. ct rien que ca :(
 
++

Reply

Sujets relatifs:

Leave a Replay

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