Hostname befehl

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

mit unix

shell skript

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ß

Hallo,

ist das richtig so.
server- ‚hostname‘
echo „hostname“

oder ist falsch

ja.

Gruesse,
Moritz
SCNR.

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