Top-Themen

Aktuelle Themen (A bis Z)

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, 7531 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 ..
Ähnliche Inhalte
Batch & Shell
Batch-Script für die Messung der Netzwerkgeschwindigkeit
Anleitung von KraemerBatch & Shell10 Kommentare

Moin zusammen, ich habe mich gerade eben hingesetzt, und eines meiner Scripte ein wenig zeigbar überarbeitet. Da die eine ...

Batch & Shell
Batch - ein paar Basics die man kennen sollte
Tipp von PedantBatch & Shell5 Kommentare

Hallo Batchfreunde, in den letzten Tagen habe ich ein paar Dinge über Batch gelernt, die eigentlich zu den Basics ...

Batch & Shell
Batch Übung zum Desktop Switchen
Anleitung von TechnoXBatch & Shell7 Kommentare

Guten Tag, für mich war es eine Trainingsübung. Da ich mich fragte - wie kann ich meine Icons auf ...

Batch & Shell
Batch zum Zurücksetzen eines lokalen Profils
Tipp von Mr.ErrorBatch & Shell

Ahoi! Mir ist in diesem Forum schon sehr oft geholfen worden und daher wollte ich auch mal was zurück ...

Neue Wissensbeiträge
Datenschutz

Weitere Inforamtionen zum Sicherheitsproblem BeA

Information von Penny.Cilin vor 5 StundenDatenschutz

Im folgenden ein weiterer Bericht über die Sicherheitsprobleme von Bea. Fataler Konstruktionsfehler im besonderen elektronischen Anwaltspostfach Gruss Penny

Windows 10

Systemdienste behalten nach Win10 inplace-Upgrade nicht die ggf. modifizierte Startart bei

Tipp von DerWoWusste vor 7 StundenWindows 103 Kommentare

Stellt Euch vor, Ihr habt ein Win10 System und modifiziert dort die Startart von Systemdiensten. Zum Beispiel wollt Ihr ...

Microsoft Office

Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei

Anleitung von SarekHL vor 10 StundenMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...

Erkennung und -Abwehr

Sicherheitslücke Spectre und Meltdown: Status prüfen

Anleitung von Frank vor 16 StundenErkennung und -Abwehr2 Kommentare

Nach all den Updates der letzten Woche sollte man unbedingt auch den Status prüfen, ob die Sicherheitslücken Spectre, Meltdown ...

Heiß diskutierte Inhalte
Netzwerke
NTFS-Berechtigung
Frage von Daoudi1973Netzwerke23 Kommentare

Hallo zusammen und frohes neues Jahr (Sorry, ich bin spät dran) Meine Frage: 1- Ich habe einen Ordner im ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...

Microsoft Office
Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei
Anleitung von SarekHLMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...

Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von fyrb38Windows 1017 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...