Hi
wer kann mir ohne welche blödsinng zu schreiben, sagen, wie ich hostname in meinem Script binden kann. ich habe ein skript geschreiben und möchte mit hostname die server überwachen.
ist das richtig so.
server- ‚hostname‘
echo „hostname“
oder ist falsch
grüß
LOL
hallo
welches betriebssystem?
welche skriptsprache?
zuerst unterstellst du allen, dass sie nur blödsinn schreiben, dann kommst du mit einer fragestellung, bei der die wichtigsten angaben fehlen. was genau erwartest du dir? dass hier alle hellsehen können?
lg
erwin
wer kann mir ohne welche blödsinng zu schreiben,
Leider unmöglich. Bei wortmächtigen Fragestellern wie dir, der du sicher dereinst mit Schiller und Cervantes in einem Atemzug genannt werden wirst!
ich habe ein skript geschreiben
Welches Script? Warum hast du das in deine Frage nicht einkopiert? Wo hast du es zum Download bereit gestellt? Gib uns das Script, beschreibe genau (am besten in deiner Muttersprache), was das Script machen soll und an welcher Stelle du Schwierigkeiten hast.
Mensch, mach’s Maul auf, wenn du was wissen willst. Dein andauerndes Genuschel im mittlerweile mind. vierten Thread zu diesem Thema ist nervtötend.
Gruß
Hi,
in einem Unix-Shell-Skript wäre
echo "`hostname`"
also mit Backticks richtig. Du kannst auch eine Variable definieren und im Skript später verwenden.
HN="`hostname`"
echo "$HN"
if ["$HN" = "tollerserver"]; then
echo "ich mache jetzt was"
# tu was
else
echo "ich mache jetzt mal was anderes"
# tu was anderes
fi
Shell skript unter UNIX
Hallo!
ich habe ein skript geschrieben und werde auch unten zufügen, um ihr lesen könnt. Ich möchte das so schreiben,damit ich ein mail erhalte, z.b wenn mein spectroserver nicht läuft dann soll mir mail schicken und wenn läuft auch mail schicken. Aber wenn Spectroserver nicht läuft dann soll AlarmNotifier nicht überprfut werden.weil SpectroSERVER haupt prozessor ist. Bei AlramNotfier genau so aber bei dem soll ob läuft ode nicht soll mail schicken und alle benachrichtungen müssen in einem Mail kommen nicht getrennt. wie soll es machen. ihr könnt auch das verbssern, wenn ihr welche idee habt.
#!/bin/sh
hostname=hostname
echo „$hostname“
if pgrep SpectroSERVER
then
echo „running“
echo „SpectroSERVER $hostname is running“| mailx -s „SpectroSERVER is running“ [email protected], [email protected]
echo „SpectroSERVER“ | /usr/bin/logger -p local6.info -t info
else
echo „not running“
echo „SpectroSERVER $hostname is not running“ | mailx -s „SpectroSERVER is not running“ [email protected], [email protected]
echo „SpectroSERVER is not running“ | /usr/bin/logger -p local6.info -t info
exit
fi
if pgrep AlarmNotifier
then
echo „running“
echo „AlarmNotifier $hostname is running“ | mailx -s „AlarmNotifier is running“ [email protected], [email protected]
echo „AlarmNotifier is running“ | /usr/bin/logger -p local6.info -t info
echo „SpectroSERVER $hostname is running“ | mailx -s „SpectroSERVER is running“ [email protected], [email protected]
echo „SpectroSERVER is runnig“ | /usr/bin/logger -p local6.info -t info
exit
else
echo „not running“
echo „AlarmNotifier $hostname is not running“ | mailx -s „AlarmNotifier is not running“ xxxxxxxx.com, xxxxxxxx.com
echo „AlarmNotifier is not running“ | /usr/bin/logger -p local6.info -t info
echo „SpectroSERVER $hostname is not running“ | mailx -s „SpectroSERVER is not running“ xxxxx.com, xxxxxxx.com
echo „SpectroSERVER is not runnig“ | /usr/bin/logger -p local6.info -t info
eixt
fi
Danke euch
Um das Ergebnis von versch. Bedingungen abhängig zu machen, darfst du die Bedingungen nicht nacheinander abfolgen lassen, sondern musst sie verschachteln.
Du prüfst, ob SpectroSERVER läuft. Wenn ja, prüfst du, ob AlarmNotifier läuft. Wenn ja, gehen beide, sonst nur der Spectro.
Läuft der SpectroSERVER nicht, muss der AlarmNotifier nicht mehr geprüft werden, dann kannst du gleich zur Ausgabe schreiten.
Das folgende Script macht das wie gewünscht ahaaaber: Das funktioniert natürlich nur, wenn beide Dienste auf ein und demselben Server laufen. Läuft der AlarmNotifier auf einem anderen Rechner als der SpectroSERVER. ist der gesamte Ansatz verkehrt. In dem Fall müsstest du mit remote Shells arbeiten. Die Logik wäre im Grunde die gleiche, aber die Abfrage von AlarmNotifier würde so einfach über eine lokale pgrep-Abfrage natürlich nicht funktionieren.
#!/bin/sh
hostname=`hostname`
echo "$hostname"
if pgrep SpectroSERVER
then
if pgrep AlarmNotifier
then
echo "S and A running"
echo "S and A are running on host $hostname"| mailx -s "S and A are running" [email protected], [email protected]
echo "S and A are running" | /usr/bin/logger -p local6.info -t info
else
echo "S running, A not running"
echo "S is running on host $hostname, A not"| mailx -s "S running A not" [email protected], [email protected]
echo "S running A not" | /usr/bin/logger -p local6.info -t info
fi
fi
else
echo "S is broken"
echo "S is broken on host $hostname, A not"| mailx -s "S is broken" [email protected], [email protected]
echo "S is broken" | /usr/bin/logger -p local6.info -t info
fi
exit