Bonjour,
En gros je cherche à vérifier l'espace disque de plusieurs machines sous certaines condition grace à un fichier de configuration.
Voici le script incriminé :
#/bin/sh
set -x
#FICHIER DE CONF
CONF=fichier.cfg
#SEUIL DES ALARMES
SEUIL=90
# Tant qu'une ligne est presente
cat $CONF | while read line
do
# INITIALISATION DES PARAMETRES
IP=$(echo ${line} | awk '{ print $1 } ')
SOURCE=$(echo ${line} | awk '{ print $2 } ')
ssh $IP -l root df -k | awk '{ print $6 "\t" $7}'| sed -e "s/\%//g" | sed '1d'>$IP.log
cat $IP.log | while read line
do
PARTITION=$(echo ${line} | awk '{ print $2 } ')
OCCUPATION=$(echo ${line} | awk '{ print $1 } ')
if [ "$OCCUPATION" -lt $SEUIL ]
then
echo "pas de probleme sur $SOURCE : $PARTITION est a $OCCUPATION%"
else
echo "incident sur $SOURCE : $PARTITION est a $OCCUPATION%"
fi
done
rm $IP.log
done |
voici le fichier de conf :
192.168.0.1 BIBI
192.168.0.2 BOBO
192.168.0.3 BABA
192.168.0.4 BUBU
192.168.0.5 BEBE |
J'utilise une boucle while dans une autre boucle qui fonctionne lors du premier test. La machine 192.168.0.1 BOUBOU est bien checké mais pas les suivantes. Pourquoi ?
Merci.
Message édité par b0uzin le 10-10-2007 à 11:00:00