mandark
19-04-2010, 10:41
Hallo,
Da ich mit der linux bash normalerweise nichts zu tun habe, aber nun einige Abfragen darueber stricken muss, koennt ihr mir da vielleicht/wahrscheinlich helfen.
Problemstellung:
Auf 20 Systeme, die sich nur einem oktett, das aufzaehlend ist per ssh connecten ( root, passwort wird interaktiv eingegeben )
dort pruefen ob per which logsurfer /usr/bin/logsurfer zurueckliefert.
Falls fehlschlaegt, exitcode mit uname -n hat fehler.
Falls ein true zurueckkommt, pruefen ob 2 logsurfer prozesse laufen $(pidof logsurfer)
Wenn auch dies korrekt ist, muss man pruefen, ob in /dir/log1.conf ein grep nach $(uname -n) ein true zurueckkommt.
Wenn auch dies korrekt ist, noch 2 weitere greps
a) nach LOG1 /etc/init.d/logsurfer
b) nach 255.255.255 aus /etc/sysconfig/network/ifcfg-eth*
Die Systeme, die ueberprueft werden sind alle mit dem gleichen suse os ausgestattet und sollten in der config auch alle gleich sein.
Da ich aber bashmaessig nie wirklich viel gemacht habe, war mein ansatz jetzt
for {1..20}
do
if [ ssh -l ip.$1.ip.ip root ]
then
if [ which logsurfer ]
then
if [ "$(pidof logsurfer)" | "awk{NF =2}" ] //nicht sicher wie awk dort abgefragt wird
then
if [ grep $(uname -n) /dir/logsurfer/alert.conf ]
then
if [ grep LOG1/etc/init.d/logsurfer ]
then echo "$1"
if [ grep 255.255.255.0 /etc/sysconfig/network/ifcfg-eth* ]
then echo "Alle checks ok"
fi
fi
fi
fi
fi
done
Es ist wohl einfach zu primitiv, aber bin mir nicht sicher wie das awk da perfekt reinspielen soll
und ob die restlichen Abfragen dann so funktionieren koennten.
Ueber Hilfe freu ich mich und danke im vorhinein.
Cu
Da ich mit der linux bash normalerweise nichts zu tun habe, aber nun einige Abfragen darueber stricken muss, koennt ihr mir da vielleicht/wahrscheinlich helfen.
Problemstellung:
Auf 20 Systeme, die sich nur einem oktett, das aufzaehlend ist per ssh connecten ( root, passwort wird interaktiv eingegeben )
dort pruefen ob per which logsurfer /usr/bin/logsurfer zurueckliefert.
Falls fehlschlaegt, exitcode mit uname -n hat fehler.
Falls ein true zurueckkommt, pruefen ob 2 logsurfer prozesse laufen $(pidof logsurfer)
Wenn auch dies korrekt ist, muss man pruefen, ob in /dir/log1.conf ein grep nach $(uname -n) ein true zurueckkommt.
Wenn auch dies korrekt ist, noch 2 weitere greps
a) nach LOG1 /etc/init.d/logsurfer
b) nach 255.255.255 aus /etc/sysconfig/network/ifcfg-eth*
Die Systeme, die ueberprueft werden sind alle mit dem gleichen suse os ausgestattet und sollten in der config auch alle gleich sein.
Da ich aber bashmaessig nie wirklich viel gemacht habe, war mein ansatz jetzt
for {1..20}
do
if [ ssh -l ip.$1.ip.ip root ]
then
if [ which logsurfer ]
then
if [ "$(pidof logsurfer)" | "awk{NF =2}" ] //nicht sicher wie awk dort abgefragt wird
then
if [ grep $(uname -n) /dir/logsurfer/alert.conf ]
then
if [ grep LOG1/etc/init.d/logsurfer ]
then echo "$1"
if [ grep 255.255.255.0 /etc/sysconfig/network/ifcfg-eth* ]
then echo "Alle checks ok"
fi
fi
fi
fi
fi
done
Es ist wohl einfach zu primitiv, aber bin mir nicht sicher wie das awk da perfekt reinspielen soll
und ob die restlichen Abfragen dann so funktionieren koennten.
Ueber Hilfe freu ich mich und danke im vorhinein.
Cu