rhaziel
Goto Top

Batch datei anpingen und Email versenden?

Hallo alle zusammen

da ich relativ neu bin in den bereich von programmierung bin wollte ich mal mit was kleinen anfangen
ich versuche über eine batch datei eine ip(im netzwerk)automatisch anzupingen und wenn sie keine
Antwort gibt eine E-mail an eine gewisse email adresse im Lan zu schicken
habe eigenen Smtp Server und so weiter drauf funktioniert auch alles in CMD über telnet
nun zu meiner Frage:
wie setze ich in solch einer batch datei die befehle richtig !
ich weis wie man eine ip immer wieder anpingt und wie man eine Email versendet aber ich will wissen
wie der telnet also der Email befehl automatisch eingegeben wird wenn der Server/Ip nicht antwortet!

habe leider in der SuFU nichts gefunden und hoffe auf eine schnelle hilfe

achso ich wüsste auch gerne noch den befehl das der server nicht jede sek sondern sagen wir mal alle 30 sek angepingt wird

Content-ID: 96182

Url: https://administrator.de/contentid/96182

Ausgedruckt am: 22.11.2024 um 20:11 Uhr

katuma
katuma 05.09.2008 um 09:39:08 Uhr
Goto Top
Hier mal auf die schnelle ein Beispiel, wie ich das mal gelost habe:

:anfang

PING 192.168.1.10 -n 1
IF ERRORLEVEL 1 goto tut_nicht
IF NOT ERRORLEVEL 1 net send xxx "PC xxx läuft"

:tut_nicht
sleep 10
goto anfang

Anstelle von net send kannst Du natürlich auch Emails schicken lassen. Hier verwende ich und viele andere das kostenlose Programm blat.exe aus dem Internet. Sleep.exe kommt aus dem Windows Resourcekit und kannst Du auch kostenlos downloaden....

Bei Fragen einfach melden.
Zitruslimmonade
Zitruslimmonade 05.09.2008 um 10:26:43 Uhr
Goto Top
Moinsen werte kollegen,
Mal ne kurze Frage, findet Ihr nich das diese variante arg resourcenlastig is ? wenn ich mir vorstell die sache mit 10 bat dateien für meine 10 srver zu lösen ?

nur mal so ne frage ohne wertenden hintergrund da ich selber auch nur nen programm im delphi geschrieben habe was auf dem selben mechanismus beruht

grus chris
rhaziel
rhaziel 05.09.2008 um 10:30:57 Uhr
Goto Top
hmm kk werds mal versuhen wenn ich zuhause bin danke für die schnelle antwort werde mih den melden obs geklappt hat oder nicht

ja Chris kann schon sein aber meine frage an sich hatte jetz keinen großen hintergrund ich möchte nur "lernen" und keine wirklichen langfristigen prozesse damit führen
katuma
katuma 05.09.2008 um 10:34:02 Uhr
Goto Top
Resourcenlastig ist ein ping mit jeweils ein paar Sekunden Pause dazwischen ganz sicherlich nicht. Du willst aber doch keine Serverüberwachung damit machen? Das wäre meines Erachtens der absolut falsche Ansatz.

Für das Monitoring von Servern gibt es viele tolle Programme, wo sich hierfür deutlich besser eignen. Für eine kleine Umgebung wäre vielleicht Serveralive ausreichend. Für etwas grössere bin ich ein grosser Nagios Freund...
rhaziel
rhaziel 05.09.2008 um 10:59:12 Uhr
Goto Top
nein wie gesagt alles nur spielerei :D

also habs getest und wohl falsch gemacht also bitte net über meine inkompetenz lachen bin halt am üben ;D

hier mal was ich in meine bach datei geschrieben habe:
:anfang

PING 192.168.100.10 -n 1
IF ERRORLEVEL 1 goto tut_nicht
IF NOT ERRORLEVEL 1 blat.exe body.txt -127.0.0.1 -to test2@localhost -f test2@localhost -s
:tut_nicht
sleep 10
goto anfang

habe mir body.exe besorgt und dort nach der anleitung des eingegeben aber ich denke des kann net richtig sein der läuft bei mir auch ständig nur batch durch...
katuma
katuma 05.09.2008 um 11:09:12 Uhr
Goto Top
Die Syntax von blat ist falsch. In solchen Fällen immer klein anfangen, sprich mal das Blat.exe für den Emailversand weglassen und durch net send z.B. ersetzen (nicht vergessen den Nachrichtendienst auf Deinem PC zu starten). Wenn das funktioniert dann das ganze mit blat.exe für den Emailversand erweitern...

Kleiner Tipp: woher soll den blat.exe wissen wo es die Emails bei Dir hinschicken soll...
rhaziel
rhaziel 05.09.2008 um 11:09:59 Uhr
Goto Top
achso hmm also doch nicht falsch naja ich probier bissl rum
katuma
katuma 05.09.2008 um 11:19:22 Uhr
Goto Top
Natürlich könnte ich Dir das ganze korrekt hinschreiben, es geht ja aber auch um einen gewissen Lerneffekt...
rhaziel
rhaziel 05.09.2008 um 11:26:48 Uhr
Goto Top
funktioniert dieses net send auh auf den gleichen rechner also wenn ich die ip von den nehme an den die batch datei gestartet wurde weil da steht immer :
Der Nachrichtenalias konnte im netzwerk nicht gefunden werden

ich weis das wenn bei net sent man es bei nen anderen rechner im lan oder internet versucht wo eine firewall aktiv ist das gleiche steht aber gillt das auch für den gleichen rechner?
katuma
katuma 05.09.2008 um 11:41:40 Uhr
Goto Top
Verwende mal Deinen HOST-Namen (Dein PC) und starte auf diesem den Nachrichtendienst.
rhaziel
rhaziel 05.09.2008 um 13:29:28 Uhr
Goto Top
so habs hinbekommen sogar mit telnet versuchs jetz mal mit blat.exe

aber noch vielen dank an kaluma hast mir eht geholfen!!
katuma
katuma 05.09.2008 um 14:16:28 Uhr
Goto Top
Kein Problem. Geh halt am besten immer Schrittweise vor, sprich bevor Du das Email senden in Deine Batchdatei einbaust, mach zuerst eine Batchdatei mit einer Zeile die nichts anderes macht als das Email zu versenden...