Problème avec cron

Résolu
zatox Messages postés 640 Date d'inscription   Statut Membre Dernière intervention   -  
zatox Messages postés 640 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, j'ai un script qui se nomme t_save_doc_mga5-sda_vers_mga5-sdb.sh
voici ce qu'il contient entre les 2 lignes d'*:

#! /bin/bash
log="/home/robert/Bureau/log.txt"
echo "DANS t_save_doc_mga5-sda_vers_mga5-sdb.sh" >> $log
IP="0"
FICHIERSH=$0
if [ ${0:0:29} = "/home/robert/zzz_sauvegardes/" ];then
     FICHIERSH=${0:27:40}
fi
source 0_ip.sh $FICHIERSH
echo "IP        = " $IP >> $log


J'appelle donc un autre script par la commande source, ce script s'appelle 0_ip.sh et il contient entre les lignes de ù

#! /bin/bash
# DEBUT RECUPERATION IP ********************************
echo "DANS 0_ip.sh" >> $log
while read line  
do   
   echo "DANS LA BOUCLE WHILE" >> $log
   if [ ${1:27:8} = ${line:0:8} ];then
     echo "DANS LE IF" >> $log
     LONGUEUR=${#line}
     LONGUEUR=$LONGUEUR-8
     IP=${line:8:LONGUEUR}
fi 
done < 0_ip.txt



Quand je lance le script t_save_doc_mga5-sda_vers_mga5-sdb.sh en console root, pas de problème ça marche voici ce que contient le fichier log:
DANS t_save_doc_mga5-sda_vers_mga5-sdb.sh
DANS 0_ip.sh
DANS LA BOUCLE WHILE
DANS LA BOUCLE WHILE
DANS LA BOUCLE WHILE
DANS LE IF
DANS LA BOUCLE WHILE
IP = 225.1.145.12


Donc tout se passe bien et je récupère ce que je voulais c'est à dre la valeur de IP.

Le problème c'est que quand je lance ce même script t_save_doc_mga5-sda_vers_mga5-sdb.sh par cron en root, ça ne marche pas, il semble que la commande "source" n'est pas activée voici ce que j'ai dons mon fichier log:

DANS t_save_doc_mga5-sda_vers_mga5-sdb.sh
IP = 0


Pourtant tous les éléments à savoir les 2 script sh et le fichier .txt ont un chmod 755 !!!!

Est-ce que quelqu'un aurait une idée, ça m'arrangerait beaucoup que ça puisse fonctionner à partir de cron en root.

Merci pour votre aide.



A voir également:

3 réponses

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
spécifier le chemin pour source
source /chemin/0_ip.sh $FICHIERSH 
0
zatox Messages postés 640 Date d'inscription   Statut Membre Dernière intervention   66
 
Bonjour, merci pour ta réponse, j'ai spécifié le chemin pour source mais c'est pareil !!! il ne rentre pas dans 0_ip.sh
0
zatox Messages postés 640 Date d'inscription   Statut Membre Dernière intervention   66
 
Re-bonjour, en fait je viens de trouver, merci dubcek tu m'as donné la puce à l'oreille, en fait j'ai spécifié le chemin source comme tu me dis mais ce n'est pas suffisant, il a fallut que je spécifie également le chemin du fichier .txt que je lis ce qui donne:

# DEBUT RECUPERATION IP ********************************
echo "DANS 0_ip.sh" >> $log
while read line
do
echo "DANS LA BOUCLE WHILE" >> $log
if [ ${1:27:8} = ${line:0:8} ];then
echo "DANS LE IF" >> $log
LONGUEUR=${#line}
LONGUEUR=$LONGUEUR-8
IP=${line:8:LONGUEUR}
fi
done < /chemin/0_ip.txt

Maintenant ça marche, je passe le sujet en résolu, merci à tous pour votre aide.
0