Problème avec cron

Résolu/Fermé
zatox Messages postés 640 Date d'inscription samedi 17 février 2007 Statut Membre Dernière intervention 26 juin 2020 - Modifié par jipicy le 14/06/2016 à 18:58
zatox Messages postés 640 Date d'inscription samedi 17 février 2007 Statut Membre Dernière intervention 26 juin 2020 - 14 juin 2016 à 20:29
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 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
14 juin 2016 à 16:14
hello
spécifier le chemin pour source
source /chemin/0_ip.sh $FICHIERSH 
0
zatox Messages postés 640 Date d'inscription samedi 17 février 2007 Statut Membre Dernière intervention 26 juin 2020 65
14 juin 2016 à 20:09
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 samedi 17 février 2007 Statut Membre Dernière intervention 26 juin 2020 65
14 juin 2016 à 20:29
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