Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Batch Ping Server

Frage Entwicklung Batch & Shell

Mitglied: Vasquez155

Vasquez155 (Level 1) - Jetzt verbinden

11.09.2009, aktualisiert 18.10.2012, 7188 Aufrufe, 9 Kommentare

Pingen von 3 Servern, falls alle drei keine Antwort >>> Email an User

Hallo,

ich habe einen Batch geschrieben, nur leider hab ich noch ein kleines Problem.

Ich würde gerne eine Email versenden, sobald alle drei Server, die ich angepingt habe, keine Antwort liefern. Sobald einer von den dreien ein ja zurückschickt, beendet er die Schleife.

Ist dies möglich, wäre dankbar für eure Hilfe.
Anbei mein Batch:

@echo off > log.txt

for /f %%I in (IPlist.txt) do (

ping %%I | find "TTL" > nul


if errorlevel 1 echo %%I ist nicht erreichbar >> log.txt

if not errorlevel 1 echo %%I ist erreichbar >> C:\PING-log\log.txt
)


Danke euch!
Gruss
Mitglied: aqui
11.09.2009, aktualisiert 18.10.2012
Vielleicht solltest du dann einmal den ursprünglichen Thread zu diesem Thema schliessen oder wenigstens einer Verweis dazuschreiben damit es nicht zig Threds zu diesem Thema gibt..

http://www.administrator.de/forum/verbesserung-ping-server-emailuser-12 ...
Bitte warten ..
Mitglied: LotPings
11.09.2009 um 18:42 Uhr
Ich kann mich aqui nur anschließen,

aber um dir das Zählen begreiflich zu machen:
01.
@echo off 
02.
Set Repl=0 
03.
for /f %%I in (IPlist.txt) do ping -n 1 %%I |find "TTL" > nul && Set /A Repl+=1  
04.
If %Repl% LSS 1 Echo Keine IP erreichbar, Sende Mail mit Blat/CDO.vbs
Gruß
LotPings
Bitte warten ..
Mitglied: Vasquez155
24.09.2009 um 09:57 Uhr
Guten Morgen,

ja da habt ihr Recht, tut mir leid.

Schaut euch mal meinen folgenden Batch bitte an:

Wenn ich aus der IPList drei Server anpinge, die es überhaupt nicht gibt, d.h. er gibt mir dreimal das Ergebnis, nicht erreichbar, dann müsste es mir doch eigentlich die Fehlermeldung TunnelisDown.txt erstellen, oder nicht?
Macht er aber nicht. Wisst Ihr an was das liegt?

Vielen Dank für eure Hilfe.

@echo off

Rem Set Reply counter

Rem for every Ip in IPList.txt do a ping and if successfull increase the reply counter
Rem a succesful ping replies with a text line containing TTL
for /F %%I in (IPList.txt) do ping -n 1 %%I |find "TTL" > nul && Set /A Repl+=1


Rem if reply counter=0 then no IP could be pinged >> tunnel is down
If %Reply% ==0 goto Tunneldown lese goto Tunnelup



:TunnelDown
Rem if TunnelsisDown.txt flag file already exists, do not send an email again
if exist TunnelisDown.txt goto else goto SendEmail


:SendEmail

Rem create TunnelsIsDown.txt glag file
Echo TunnelisDown >TunnelIsDown.txt
Goto End

:TunnelUp
Rem delete TunnelIsDown.txt flag file
Delete TunnelIsDown.txt
Goto End

:End
Bitte warten ..
Mitglied: LotPings
24.09.2009 um 12:28 Uhr
Hallo Vasquez,

wenn du die Variable nicht initialisierst und dann auch noch unterschiedliche Namen benutzt, kann das auch nicht funktionieren.

Aussserdem scheint mir die Verwendung der "glag" file sehr inkonsitent zu sein.

Gruß
LotPings
Bitte warten ..
Mitglied: Vasquez155
25.09.2009 um 10:00 Uhr
So jetzt habe ich es verbessert, aber habe immernoch folgendes Problem.

Es wird mir jedes mal die txt. Datei erstellt und eine Email verschickt, obwohl alle drei Server erreichbar sind. Das soll erst passieren, wenn mindestens einer von den dreien nicht erreichbar ist.

Kann mir da jemand bitte helfen?

@echo off

Rem Set Reply counter

Rem for every Ip in IPList.txt do a ping and if successfull increase the reply counter
Rem a succesful ping replies with a text line containing TTL
set Repl=0
for /F %%I in (IPList.txt) do ping -n 1 %%I |find "TTL" > nul && Set /A Repl+=1

Rem if reply counter=0 then no IP could be pinged >> tunnel is down
If %Repl% == 0 goto Tunneldown else goto Tunnelup


:TunnelDown
Rem if TunnelisDown.txt flag file already exists, do not send an email again
if exist TunnelIsDown.txt goto Ende

:SendEmail

Rem create TunnelsIsDown.txt flag file
Echo tunnel is Down > TunnelIsDown.txt

blat.exe
Goto Ende

:TunnelUp
Rem delete TunnelIsDown.txt flag file
Delete TunnelIsDown.txt
Goto Ende

:Ende
set Repl=""
Bitte warten ..
Mitglied: LotPings
25.09.2009 um 12:43 Uhr
Zitat von Vasquez155:
Es wird mir jedes mal die txt. Datei erstellt und eine Email verschickt, obwohl alle drei Server erreichbar sind. Das soll erst passieren, wenn mindestens einer von den dreien nicht erreichbar ist.

Kann mir da jemand bitte helfen?

Schau dir mal
IF /?
an.

Ausserdem solltest du der besseren Lesbarkeit und Referenzierbarkeit halber deinen Code in entsprenchende Tags einbetten siehe meinen Beitrag oben oder auch die FAQ hierzu

Gruß
LotPings
Bitte warten ..
Mitglied: Vasquez155
25.09.2009 um 12:47 Uhr
Hallo LotPings,

ja, ich dachte mir das dort der Fehler liegt. Aber warum? Kannst du mir da bitte weiterhelfen?

Ich werde den Code nächstes mal so darstellen, wie du es mir oben angezeigt hast.

Danke!
Bitte warten ..
Mitglied: LotPings
25.09.2009 um 13:30 Uhr
wegen fehlender Klammern wird der Else Teil gar nicht ausgeführt und die nächste Zeile verarbeitet (er fällt quasi durch).

Wenn du die Logik mit Not umkehrst
01.
If NOT %Repl% == 0 goto TunnelUp 
02.
:: alternativ 
03.
If %Repl% GEQ 1 goto TunnelUp
sollte es wie gewünscht funktionieren.

PS: Bei meinem IF /? zeigt er mir ein NICHT funktionierendes Beispiel das deinem entspricht - hast du dir das wirklich angesehen?

Gruß
LotPings
Bitte warten ..
Mitglied: Vasquez155
25.09.2009 um 14:27 Uhr
Hi,

ich habs jetzt hinbekommen, etwas anders, aber es funktioniert.
Vielen Dank für deine Hilfe.

Schönes Wochenende.

Gruss
Bitte warten ..
Neuester Wissensbeitrag
DSL, VDSL

Telekom blockiert immer noch den Port 7547 in ihrem Netz

(3)

Erfahrungsbericht von joachim57 zum Thema DSL, VDSL ...

Ähnliche Inhalte
Batch & Shell
gelöst Per Batch FTP-Server Dateien ändern (1)

Frage von Marlon1 zum Thema Batch & Shell ...

Datenbanken
MS-SQL-Server + T-SQL+Batch (4)

Frage von kallewirsch zum Thema Datenbanken ...

Netzwerke
gelöst Ping zu Windows Server funktioniert im OpenVPN netz nicht (5)

Frage von ketanest112 zum Thema Netzwerke ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...