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

Onlinetester in Batch

Anleitung Entwicklung Batch & Shell

Mitglied: araBonG

araBonG (Level 1) - Jetzt verbinden

25.11.2010, aktualisiert 16:52 Uhr, 7463 Aufrufe, 1 Kommentar

Wer viele Server oder Hosts überwachen will kann man mal das hier ausprobieren....

Erläuterungen gibt im ersten Verwendungsbeipiel.

1. Einmal alle testen mit Proktokoll (offline):
01.
@echo off 
02.
if not exist server.txt ( 
03.
echo Serverdatenbank (Server.txt) nicht gefunden 
04.
pause 
05.
exit) 
06.
REM Hier wird überprüft ob eine server.txt existiert mit den Servern drin. 
07.
 
08.
:jmp1 
09.
set /p delete=Wollen Sie das alte Protokoll entfernen^?(J^/N) 
10.
REM Hier soll nachgefragt werden, ob das alte Protokoll entfernt werden soll 
11.
 
12.
if /i %delete%==j ( 
13.
del offline.txt /f /q /s 
14.
goto jmp2) 
15.
if /i %delete%==n ( 
16.
goto jmp2) 
17.
else ( 
18.
goto jmp1) 
19.
:jmp2 
20.
REM Die Bedingung J(a) N(ein) wird überprüft. Wenn eine falsche Eingabe gemacht worden ist wird wieder zur Frage gesprungen. 
21.
 
22.
cls 
23.
color 02 
24.
echo Servertest                                                Status^|Ping 
25.
echo _____________________________________________________________________ 
26.
 
27.
for /f %%c in (server.txt) do (set server=%%c && call :proofing) 
28.
REM Hier werden die verschiedenen Zeilen aus der Server.txt gelesen und in die Variable "server" geschrieben. 
29.
REM Dann wird für jede Zeile das Unterprogramm Proofing aufgerufen. (call :proofing) 
30.
 
31.
pause 
32.
exit 
33.
:proofing 
34.
 
35.
set proof=0 
36.
set ping=x 
37.
REM Hier werden einfach nur die Variablen neu deklariert. 
38.
 
39.
for /f "tokens=7,8 delims==< " %%i in ('ping -n 1 %server%^|findstr "TTL="') do (set ping=%%i && set proof=%%j) 
40.
REM Hier werden 2 Werte ausgelesen die als Ausgabe bei einem erfolgreichem Ping entstehen. 
41.
REM findstr "TTL=" wird benutzt um die richtige Zeile mit bistimmter Zeichenfolge zu finden (find string), da sonst falsche Zeilen ausgelesen werden. 
42.
REM Dann wird wenn der String gefunden wurde ping und proof gesetzt. 
43.
REM Da bei einem fehlgeschlagenen Ping die Werte nicht gesetzt werden wurden zuvor die Variablen neu deklariert. 
44.
 
45.
if /i %proof%==TTL ( 
46.
echo  Server          %server%                                  online^|%ping% 
47.
) else ( 
48.
echo  Server     ----^>%server%                                  offline^!^!^!  
49.
echo  %server% offline %date% %time%>>offline.txt 
50.
51.
REM Hier werden die Bedingungen überprüft. Wenn "proof" nicht gesetzt wurde bzw. 0 ist ist die Bedingung für einen erfolgreichen Ping nicht gegeben. 
52.
REM Je nachdem ob der Server online oder offline ist wird eine Ausgabe erstellt die den Server anzeigt, ob er online oder offline ist und je nachdem der Ping. 
53.
REM Dann folgt das schreiben in die Protokolldatei mit Datum und Uhrzeit was duch echo .....>>datei.dat gemacht wird. 
54.
 
2. Einmal alle testen mit Proktokoll (online&offline):
01.
@echo off 
02.
if not exist server.txt ( 
03.
echo Serverdatenbank (Server.txt) nicht gefunden 
04.
pause 
05.
exit) 
06.
:jmp1 
07.
set /p delete=Wollen Sie das alte Protokoll entfernen^?(J^/N) 
08.
if /i %delete%==j ( 
09.
del status.txt /f /q /s 
10.
goto jmp2) 
11.
if /i %delete%==n ( 
12.
goto jmp2) 
13.
else ( 
14.
goto jmp1) 
15.
:jmp2 
16.
cls 
17.
color 02 
18.
echo Servertest                                                Status^|Ping 
19.
echo _____________________________________________________________________ 
20.
for /f %%c in (server.txt) do (set server=%%c && call :proofing) 
21.
pause 
22.
exit 
23.
:proofing 
24.
set proof=0 
25.
set ping=x 
26.
for /f "tokens=7,8 delims==< " %%i in ('ping -n 1 %server%^|findstr "TTL="') do (set ping=%%i && set proof=%%j) 
27.
if /i %proof%==TTL ( 
28.
echo  Server          %server%                                  online^|%ping% 
29.
echo  %server% online %date% %time%>>status.txt 
30.
) else ( 
31.
echo  Server     ----^>%server%                                  offline^!^!^!  
32.
echo  %server% offline %date% %time%>>status.txt 
33.
)
3. Alle dauerhaft testen ohne Proktokoll:
01.
@echo off 
02.
if not exist server.txt ( 
03.
echo Serverdatenbank (Server.txt) nicht gefunden 
04.
pause 
05.
exit) 
06.
:retest 
07.
cls 
08.
color 02 
09.
echo Servertest                                                Status^|Ping 
10.
echo _____________________________________________________________________ 
11.
for /f %%c in (server.txt) do (set server=%%c && call :proofing) 
12.
REM Bitte REM  und diesen Text entfernen wenn nötig 
13.
REM ping -n 301 127.0.0.1 
14.
goto :retest 
15.
exit 
16.
:proofing 
17.
set proof=0 
18.
set ping=x 
19.
for /f "tokens=7,8 delims==< " %%i in ('ping -n 1 %server%^|findstr "TTL="') do (set ping=%%i && set proof=%%j) 
20.
if /i %proof%==TTL ( 
21.
echo  Server          %server%                                  online^|%ping% 
22.
) else ( 
23.
echo  Server     ----^>%server%                                  offline^!^!^!  
24.
)
4. Alle dauerhaft testen mit Proktokoll (offline):
01.
@echo off 
02.
if not exist server.txt ( 
03.
echo Serverdatenbank (Server.txt) nicht gefunden 
04.
pause 
05.
exit) 
06.
:jmp1 
07.
set /p delete=Wollen Sie das alte Protokoll entfernen^?(J^/N) 
08.
if /i %delete%==j ( 
09.
del status.txt /f /q /s 
10.
goto jmp2) 
11.
if /i %delete%==n ( 
12.
goto jmp2) 
13.
else ( 
14.
goto jmp1) 
15.
:jmp2 
16.
:retest 
17.
cls 
18.
color 02 
19.
echo Servertest                                                Status^|Ping 
20.
echo _____________________________________________________________________ 
21.
for /f %%c in (server.txt) do (set server=%%c && call :proofing) 
22.
REM Bitte REM  und diesen Text entfernen wenn nötig 
23.
REM ping -n 301 127.0.0.1 
24.
goto :retest 
25.
exit 
26.
:proofing 
27.
set proof=0 
28.
set ping=x 
29.
for /f "tokens=7,8 delims==< " %%i in ('ping -n 1 %server%^|findstr "TTL="') do (set ping=%%i && set proof=%%j) 
30.
if /i %proof%==TTL ( 
31.
echo  Server          %server%                                  online^|%ping% 
32.
) else ( 
33.
echo  Server     ----^>%server%                                  offline^!^!^!  
34.
echo  %server% offline %date% %time%>>offline.txt 
35.
)
zusätzlich muss man nur eine Datei "server.txt" erstellen in die man einfach alle Server/Host wie in folgendem Beispiel reinschreibt (natürlich ohne die Infos dahinter^^)

www.google.de (Internet)
meinepage.de (Internet)
ftp.serverx.de (Internet FTP-Server)
smtp.servery.de (Internet SMTP-Server)
123.255.255.0 (IP-Adresse Internet)
192.168.1.1 (IP-Adresse Intranet)
pc-wohnzimmer (PC im Heimnetznerk)
pc-kind (PC im Heimnetznerk)

Diese Datei muss im Verzeichnis der Batchdatei liegen.

Es werden je nachdem was euch interressiert die Dateien "offline.txt" oder "status.txt".
Ganze wichtig!!!! Wenn ihr z.B. nur 1 Host anpingen wollt nutzt den Teil der im REM Bereich steht!!!

Ansonsten könnte eure IP auf dem Host z.B. Google.de blockiert werden oder es entsteht unnötiger Traffic auf eurem/einem Webserver.
Der Teil hinter REM sorgt dafür, dass der Test nur alle 5 Minuten durchgeführt wird.
Mitglied: 60730
25.11.2010 um 16:21 Uhr
moin,

für eine Anleitung ist das aber noch etwas dürftig...

  • du machst zwar eine recht kosmisch gestaltete Abfrage, ob man das Log löschen will, aber ob die Server.txt vorhanden ist - frägst du niemanden?
btw: Wenn du schon mit Schleifen experimentierst - und die Server.txt so beschreibst - warum dann nicht Nägel mit Köpfen machen und ( als Delims nehmen - dann macht das alles mehr Sinn - oder glaubst du einer, der seine IPs alle im Kopf hat braucht so eine Abfrage?
  • deine Zeile 25 finde ich auch recht quer gestaltet - und ob das ohne delayedexpansion überhaupt funktioniert?

Würde mich (und ganz sicher ein paar andere) sehr freuen, wenn du da noch mal etwas nachlegst
"Gerne" mit Rems beschreiben, was denn da so passiert - denn dafür ist eine Anleitung irgendwie da.

Sonst müßte Frank ja eine Copy&Paste Rubrik erschaffen, das wollen wir aber garnicht.

Gruß
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Batch & Shell
Dateinamen nach Zeichnen abschneiden - Batch-Shell (9)

Frage von cberndt zum Thema Batch & Shell ...

Batch & Shell
CMD Verschlüsslung ( Batch ) (11)

Frage von clragon zum Thema Batch & Shell ...

Batch & Shell
gelöst älteste dateien via batch löschen (6)

Frage von cali169 zum Thema Batch & Shell ...

Batch & Shell
gelöst Suchen und Ersetzen mehrerer Suchbegriffe per Batch (4)

Frage von makroll10 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...

Microsoft Office
Keine Updates für Office 2016 (11)

Frage von Motte990 zum Thema Microsoft Office ...