Bonjour à tous,
Je fais un petit script pour connecter l'état de mes équipements, sauf que je bloque pour traiter la donnée.
Voici ce que je fais :
==> Cette commande me permet de connaitre le nombre d'élément que je dois superviser (nombre variable)
Code : Sélectionner tout - Visualiser dans une fenêtre à part ID=$(snmpwalk -c $1 -v $2 $3 1.3.6.1.4.1.9.9.500.1.2.1.1.6 | awk -F "." '{print $NF}' | awk '{print $1}')
Et c'est la mon problème car le résultat est traité dans sa globalité, or j'aimerais pouvoir récupérer la sortie pour chacun de mes éléments.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 for element in $ID do res=$(snmpwalk -c $1 -v $2 $3 1.3.6.1.4.1.9.9.500.1.2.1.1.6.$element) valeur=$(echo $res | awk '{print $NF}')
Voici le débug pour y voir plus clair :
En définitive ce que j'aimerais c'est que pour chacun de mes éléments (1001,2001,etc...) lui associer sa valeur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 ++ snmpwalk -c snmpget -v 2c 10.254.22.254 1.3.6.1.4.1.9.9.500.1.2.1.1.6 ++ awk -F . '{print $NF}' ++ awk '{print $1}' + ID='1001 2001 3001 4001' + for element in '$ID' ++ snmpwalk -c X -v X X.X.X.X 1.3.6.1.4.1.9.9.500.1.2.1.1.6.1001 + res='RFC1155-SMI::enterprises.9.9.500.1.2.1.1.6.1001 = INTEGER: 4' ++ echo RFC1155-SMI::enterprises.9.9.500.1.2.1.1.6.1001 = INTEGER: 4 ++ awk '{print $NF}' + valeur=4 + echo 4 4 + for element in '$ID' ++ snmpwalk -c X -v X X.X.X.X 1.3.6.1.4.1.9.9.500.1.2.1.1.6.2001 + res='RFC1155-SMI::enterprises.9.9.500.1.2.1.1.6.2001 = INTEGER: 4' ++ echo RFC1155-SMI::enterprises.9.9.500.1.2.1.1.6.2001 = INTEGER: 4 ++ awk '{print $NF}' + valeur=4 + echo 4 4 + for element in '$ID' ++ snmpwalk -c X -v X X.X.X.X 1.3.6.1.4.1.9.9.500.1.2.1.1.6.3001 + res='RFC1155-SMI::enterprises.9.9.500.1.2.1.1.6.3001 = INTEGER: 4' ++ echo RFC1155-SMI::enterprises.9.9.500.1.2.1.1.6.3001 = INTEGER: 4 ++ awk '{print $NF}' + valeur=4 + echo 4 4 + for element in '$ID' ++ snmpwalk -c X -v X X.X.X.X 1.3.6.1.4.1.9.9.500.1.2.1.1.6.4001 + res='RFC1155-SMI::enterprises.9.9.500.1.2.1.1.6.4001 = INTEGER: 4' ++ echo RFC1155-SMI::enterprises.9.9.500.1.2.1.1.6.4001 = INTEGER: 4 ++ awk '{print $NF}' + valeur=4 + echo 4
Dois-je forcement passer par un tableau ?
Pour vous donner un idée, l'objectif du script est de remonter une alerte si un des éléments n'est pas égal au chiffre 4.
Merci par avance,








Répondre avec citation


N'oubliez pas de consulter 






mais...
Partager