pendzi
Goto Top

IP-Adressen aus File auslesen und einfügen in script?

Hallo Community,

Ich arbeite zurzeit an einem kleinem script, welches die Aufgabe übernimmt alle Drucker in der Firma abzufragen und den derzeitigen Counter auszugeben.
Es sieht wie folgt aus:
COUNTER01="`snmpwalk 10.97.1.203 -c zfs -v1 -Ov 1.3.6.1.2.1.43.10.2.1.4.1.1`"
echo "`echo BCN_PRU40003 $COUNTER01`"

COUNTER02="`snmpwalk 10.92.2.202 -c public -v1 -Ov 1.3.6.1.2.1.43.10.2.1.4.1.1`"
echo "`echo BLQ_PRU20006 $COUNTER02`"

COUNTER03="`snmpwalk 10.97.1.203 -c public -v1 -Ov 1.3.6.1.2.1.43.10.2.1.4.1.1`"
echo "`echo BLQ_PRU20015 $COUNTER03`"

COUNTER04="`snmpwalk 10.90.11.213 -c public -v1 -Ov 1.3.6.1.2.1.43.10.2.1.4.1.1`"
echo "`echo DUS_PRU10002 $COUNTER04`"


usw usw...

Da ihr wisst ist ein Administrator ein fauler Mensch also möchte ich, dass die statt dem SNMPWALK "IP" die IP aus einer Datei gelesen werden und an diese stelle eingesetzt wird.
Eben so wie der NAME z.B BLQ_PRU20006

also file sieht dann in etwa so aus:
10.97.1.203
10.92.2.202
10.97.1.203
10.90.11.213

wie muss ich das script jetzt umbauen damit er sich die IP-adressen nacheinander ins script reinzieht.

Danke im vorraus =)

ps: bin neuling in der Geschichte face-smile

Content-Key: 97925

Url: https://administrator.de/contentid/97925

Printed on: April 19, 2024 at 02:04 o'clock

Mitglied: 6890
6890 Sep 26, 2008 at 23:13:07 (UTC)
Goto Top
Nabend

for ip in $(cat ip_file)
do
COUNTER="`snmpwalk ${ip} -c zfs -v1 -Ov 1.3.6.1.2.1.43.10.2.1.4.1.1`"
echo "`echo ${ip} hat zaehlerstand $COUNTER`"
done

MfG
Member: Pendzi
Pendzi Sep 29, 2008 at 11:23:23 (UTC)
Goto Top
Viel Dank! Du hast mir sehr geholfen, läuft soweit anwandfrei, jetzt hab ich noch ne frage und zwar, klar läuft alles und alles supi nur ich steig nicht so ganz hinter die logik, wie gesagt ich solls "irgendwann" dann auch mal aus dem ff beherschen, also muss ich hinterfragen wie sowas funktionieren kann =)

for ip in $(cat ip_file)
öffnen des ip-files??

do
was sagt das aus??

COUNTER="`snmpwalk ${ip} -c zfs -v1 -Ov 1.3.6.1.2.1.43.10.2.1.4.1.1`"
snmpwalk auf die erste ip adresse??? Geht das von oben nach unten???

echo "`echo ${ip} hat zaehlerstand $COUNTER`"
ausgabe auf dem bildschirm, ip wieder von oben nach unten? und counter ist in dem fall der snmpwalk, richtig??

done
//fertig?
Mitglied: 6890
6890 Sep 29, 2008 at 11:31:15 (UTC)
Goto Top
Zitat von @Pendzi:
Viel Dank! Du hast mir sehr geholfen, läuft soweit anwandfrei,
jetzt hab ich noch ne frage und zwar, klar läuft alles und alles
supi nur ich steig nicht so ganz hinter die logik, wie gesagt ich
solls "irgendwann" dann auch mal aus dem ff beherschen, also
muss ich hinterfragen wie sowas funktionieren kann =)
Bitte, bitte

die logik von schleifen ist dir hoffentlich bewusst, ansonsten wikipedia
for ip in $(cat ip_file)
öffnen des ip-files??
für jede zeile die `cat ip_file` zurückliefert

do
was sagt das aus??
führe folgendes aus

COUNTER="`snmpwalk ${ip} -c zfs -v1 -Ov
1.3.6.1.2.1.43.10.2.1.4.1.1`"
snmpwalk auf die erste ip adresse??? Geht das von oben nach
unten???
nimm den wert der in $ip steht und mache ein snmpwalk, schreibe das ergebnis in die variable COUNTER

echo "`echo ${ip} hat zaehlerstand $COUNTER`"
ausgabe auf dem bildschirm, ip wieder von oben nach unten? und
counter ist in dem fall der snmpwalk, richtig??
und gib das ergebniss aus

done
//fertig?
fertig!

mfg
Member: Pendzi
Pendzi Sep 29, 2008 at 12:44:38 (UTC)
Goto Top
eine frage noch ;), du sagst
nimm den wert der in $ip steht und mache ein snmpwalk

in $ip steht ja aber kein wert^^,
in der datei stehen nur IP´s untereinander ausgeführt woher weiß er das er genau die
IP dort bei $ip einsetzen soll ;)

Danke ich makiere das ganze schonmal als gelöst du bist mein held :=
Mitglied: 6890
6890 Sep 29, 2008 at 13:24:35 (UTC)
Goto Top
Zitat von @Pendzi:
eine frage noch ;), du sagst
nimm den wert der in $ip steht und mache ein snmpwalk

in $ip steht ja aber kein wert^^,
in der datei stehen nur IP´s untereinander ausgeführt
woher weiß er das er genau die
IP dort bei $ip einsetzen soll ;)

for ip in $(cat ip_file)
do
...
done

cat'te das file und nimm jede zeile einzeln, schreibe dabei den aktuellen wert in ip und verwende dies als variable $ip, mache dann ... fertig

Danke ich makiere das ganze schonmal als gelöst du bist mein
held :=

Juhu wennigsten ein Fan face-smile