Thread shell skript ausgabe kürzen (12 answers)
Opened by turbo at 2011-12-19 09:32

Gast turbo
 2011-12-20 09:08
#154962 #154962
jau, hab mir überlegt wenn es als shellskript gut funktioniert brauch ich es womöglich gar nicht in perl.
aber ein essentielles problem habe ich noch, wobei mich meine google suche mal wieder nicht sehr viel weiter gebracht hat:
für die snmp-abfragen habe ich jetzt eine funktion geschrieben. die ausgabe die dabei auf der konsole geliefert wird, entspricht der form, in der ich die daten gern speichern würde.
ich möchte das skript nun über einige zeit mehrmals täglich laufen lassen und um die daten am ende auswerten zu können, muss am ende alles in einer tabelle o.Ä. landen. ich habe schon ein bisschen mit arrays rumexperimentiert. das hat aber erstens generell nicht geklappt (ich hab mir das array zum test ausgeben lassen aber es war leer), außerdem hatte ich beim letzten snmp element probleme, da die ausgabe hier folgendermaßen aussieht: " files: 123 pipes: 456 tcp: 789 ..." ich brauche bloß diese ersten 3, kriege sie per cut aber nur über echo $x cut... separiert, wenn ich es so versuche a= $x cut... funktioniert es nicht mehr...hier der code:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
date +%F,%R
snmp()
{
echo "######################################################################"
echo $1
snmpget -v2c -c community $1 .1.3.6.1.4.1.2021.10.1.3.1 | cut -d":" -f4
snmpget -v2c -c community $1 .1.3.6.1.4.1.2021.11.11.0 | cut -d":" -f4
used_swap=`snmpget -v2c -c community $1 .1.3.6.1.4.1.2021.4.3.0 | cut -d" " -f4`
avail_swap=`snmpget -v2c -c community $1 .1.3.6.1.4.1.2021.4.4.0 | cut -d" " -f4`
c=`echo "scale=5;$avail_swap/$used_swap*100" |bc |cut -c 1-5`
echo $c%
ram_tot=`snmpget -v2c -c community $1 .1.3.6.1.4.1.2021.4.5.0 | cut -d" " -f4`
ram_used=`snmpget -v2c -c community $1 .1.3.6.1.4.1.2021.4.6.0 | cut -d" " -f4`
d=`echo "scale=5;$ram_used/$ram_tot*100" |bc |cut -c 1-5`
echo $d%
snmpget -v2c -c community $1 .1.3.6.1.4.1.2021.4.14.0 | cut -d":" -f4
snmpget -v2c -c community $1 .1.3.6.1.4.1.2021.4.15.0 | cut -d":" -f4
x=`snmpwalk -v2c -c community $1 .1.3.6.1.4.1.2021.54.3.1.1 | cut -d'"' -f2`
echo $x | cut -d" " -f1
echo $x | cut -d" " -f2
echo $x | cut -d" " -f3
#echo ${array}
}

sorry für so viel text ;)
Last edited: 2011-12-20 09:14:47 +0100 (CET)

View full thread shell skript ausgabe kürzen