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, 7202 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 ..
Ähnliche Inhalte
Windows Server
Rechtevergabe für Ordner in Windows Server 2012 R2 per Batch (3)

Frage von Sinzal zum Thema Windows Server ...

Windows Server
gelöst Windows Server 2003 DNS Server - Ping auf Subdomain nicht möglich in windows 7 (15)

Frage von aif-get zum Thema Windows Server ...

Batch & Shell
Batch datei zum Hochladen von Datein auf ftp server (2)

Frage von loxymus zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(6)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
POS Hardware und alternativen zu Raid 1? (21)

Frage von Brotkasten zum Thema Festplatten, SSD, Raid ...

Windows 10
gelöst Windows 10 Home "Netzlaufwerk nicht bereit" (19)

Frage von Oggy01 zum Thema Windows 10 ...

Viren und Trojaner
Verschlüsselungstrojaner simulieren (18)

Frage von AlbertMinrich zum Thema Viren und Trojaner ...

Exchange Server
Exchange Postfach leeren - nicht löschen (11)

Frage von AndreasOC zum Thema Exchange Server ...