#1 Le 03/05/2017, à 12:29
- dadod
garder l'historique en script shell
Bonjour ,
j'ai un programme en sh qui ping des @ip et garde les donnees dans une fichier mais quand j'ai ajouté le boucle while do dans le script les ancien données dans le fichier d'enregistrement des résultats s’écrase par les nouveau données d'ou je veut garder l'historique aussi
s'il vous plait j'aimerai avoir un programme en sh pour garder l'historique aussi
merci par avance
while true
do
i=11
clear
echo " " > ping.log
while [ "$i" != 63 ]
do
echo "scan $i"
output=`cat list.txt | grep "$i" | cut -d "=" -f 2 ` > cmp
output=`cat list.txt | grep "$i=170" | cut -d "=" -f 2 `
name=`cat list.txt | grep "$i:" | cut -d ":" -f 2 `
a=$(grep -o "170." cmp | wc -l)
echo "$a:$name"
ping -c 4 "$output" > /dev/null
if [ $? -eq 0 ]; then
sshpass -p CitrecKbii ssh -o StrictHostKeyChecking=no "$output" '{
hostname
echo -n "1;" > file.txt
# ping pointeuse
sshpass -p 'CitrecKbii' scp file.txt root@170.164:/root
}'
d=$(date +"%d/%m/%y;%T")
echo -n $d >> ping.log
echo -n ";$output;" >> ping.log
cat file.txt >> ping.log
else
echo "$output;0" >> ping.txt
fi
i=$(($i + 1))
done
sleep 180
done
Hors ligne
#2 Le 03/05/2017, à 12:57
- Watael
Re : garder l'historique en script shell
salut,
ce n'est pas d'historique dont il s'agit (l'historique conserve les commandes entrées dans un terminal), mais d'un journal (log).
si tu veux conserver les données entre les boucles, il faut, dans celle-ci, remplacer les redirections simples, qui écrasent le contenu des fichiers, par des redirections doubles.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#3 Le 03/05/2017, à 16:54
- Hizoka
Re : garder l'historique en script shell
Salut,
Arf c'est crados comme présentation...
pour info :
`` est remplacé par $()
cat list.txt | grep "$i"
=> cat ne sert à rien, faut utiliser grep "$i" list.txt
echo " " > ping.log
tu réinitialises ton fichier log là...
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne