PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mail senden wenn Dienst beendet



Drapo
04.10.05, 13:38
Hallo zusammen

Ich habe mir hier einen Cluster aufgebaut. Soweit läuft alles recht gut. Nun bin ich dabei den feinschliff zu bewerkstelligen. Es dabei darum dass wenn sich der smb dienst beendet soll eine mail an einen user über smtp versendet werden. aber wie mach ich das? brauch ich dazu ein skript oder gibt es da schon automatisierungs mechanismen?

das gleiche soll übrigens auch beim dienst heartbeat erfolgen.

vielen dank für eure hilfe. bin euch echt dankbar.

gruss drapo

RichieX
04.10.05, 16:01
Du kannst das rc-Script dafür abändern (/etc/rc.d/init.d/smb). Einfach ein


sendmail -F<meinBetreff> <empfänger@host> <Text>

in den start/stop Kommandos einfügen.

cane
04.10.05, 16:19
Bei einem ungeplanten Beenden des Dienstes werden die Scripta aber nicht ausgeführt. Man müsset wohl eine Schleife, einen Cronjob verwenden der periodisch prüft ob der dienst noch läuft (ps -aux).

mfg
cane

Drapo
04.10.05, 16:24
wie müsste der eintrag im cronjob aussehen? ps -aux wo muss das hin?

für sendmail erkennt er mir den Befehl nicht. muss ich dafür noch was extra installieren?

RichieX
04.10.05, 16:54
@cane
von "ungeplanten" Beenden war keine Rede. ;)

@Drapo
Du kannst doch auch mit "/etc/init.d/smb status" den Status abfragen.

Drapo
04.10.05, 17:10
ja ich kann den status schon abfragen aber das ganze soll automatisch laufen und auch noch ein mail versenden wenn der dienst nicht läuft.

also in cron könnte ich das ganze ja schon eintragen aber wie versende ich das mail wenn der dienst nicht mehr läuft?

cane
04.10.05, 17:15
Nur mit "ps -aux" erreichst Du nichts, es war nur ein beispiel:

- ps -aux zeigt alle laufenden Prozesse an
- Du schaust ob der gesuchte dabei ist
- Wenn nicht verschickst Du eine Mail

Such malö nach fertigen Scripten (ps, test, mail, bash sind Stichworte)

mfg
cane

RichieX
04.10.05, 17:32
Samba erzeugt unter /var/run eine pid wenn es läuft. Sowas oder ähnlich könnte es funktionieren:


#!/bin/bash
ls /var/run | grep smbd ;
if [ $? == 0 ] ;
then ...
else ...

Und dieses Script als Cronjob laufen lassen.

mcspam
04.10.05, 17:40
schau dir mal watchpid ( http://www.codepark.org/) an.

Drapo
04.10.05, 18:53
danke für die antworten

@mcspam der link funzt net :-(

werd mal ein paar sachen ausprobieren

mkahle
04.10.05, 20:07
setup is a matter of minutes: http://www.tildeslash.com/monit/

Drapo
05.10.05, 09:30
super danke für den input werde mit monit gleich mal installieren

cane
05.10.05, 09:42
Falls man so etwas im gesammten Netz realisieren möchte kann man prima Nagios verwenden. Kann Uptime, Dienste und alles andere was das herz begehrt monitoren und ist so stabil das schon einige kommerzielle Anbieter Nagios implementieren / supporten...

mfg
cane