Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 03/05/2017, à 13: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, à 13: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.

En ligne

#3 Le 03/05/2017, à 17: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