Hey,
Hab ein Batchskript geschrieben für eine Datensicherung. Es läuft die ganze Zeit im Hintergrund und scannt die Verbindung zu einem Server im LAN. Darauf läuft ein Webserver (Apache2.2) und Datenbankserver (MySQL 5). Wenn nun die Verbindung nicht mehr verfügbar ist, wird auf meinem PC automatisch der Apache + MySQL gestartet.
Zudem werden immer aktuellste Dateien abgeglichen.
Soll sozusagen ein redundantes System sein.
Funzt soweit auch ganz gut, nur wenn er abgleicht bleibt das Skript jedes mal 7 Sekunden stehen.
Was könnte das sein? Überprüft er jede einzelne Datei auf aktuellstes Datum?
Ich weiß auch, dass es einige Tools gibt, die eine Datensicherung machen können, aber ich wollte mein eigenes schreiben.
Hier das Skript:
@echo off
:serverstartwatch
title Ueberwachung des Servers: %ip% - server01
set ip=192.168.178.55
set sicherung1=C:\server
set sicherung2=%USERPROFILE%\Eigene Dateien\user
IF NOT EXIST %sicherung1% echo %sicherung1% wurde nicht gefunden!
echo Ueberpreufen, ob Netzlaufwerk zu Server %ip% steht...
IF NOT EXIST z: net use Z: \\%ip%\d$
IF NOT errorlevel 1 (goto serverping) else (goto serverwait)
:serverping
color 02
title Ueberwachung des Servers: %ip% - %time% - %date%
echo.
echo.
echo ################ Scanne server01 - %ip% - %time% ################
echo.
echo.
ping %ip% -n 2
IF NOT errorlevel 1 (goto serveronline) else (goto serverwait)
:serveronline
echo.
echo %date% - %time% - Server %ip% online!
echo.
echo %date% - %time% - Server %ip% online!
echo.
echo %date% - %time% - Server %ip% online!
echo.
echo %date% - %time% - Server %ip% online!
echo.
echo %date% - %time% - Server %ip% online!
echo.
echo %date% - %time% - Server %ip% online!
echo.
echo %date% - %time% - Server %ip% online!
echo.
echo %date% - %time% - Server %ip% online!
echo.
echo %date% - %time% - Server %ip% online!
echo.
echo %date% - %time% - Server %ip% online!
echo.
echo %date% - %time% - Server %ip% online!
echo.
echo %date% - %time% - Server %ip% online!
echo.
echo Stoppe Webserver: Apache2.2
NET START | FIND "Apache2.2"
IF NOT ERRORLEVEL 1 (net stop Apache2.2) else (echo Der Apache Webserver laeuft nicht!)
echo.
echo.
echo Stoppe Datenbankserver: MYSQL
NET START | FIND "MySQL"
IF NOT ERRORLEVEL 1 (net stop MYSQL) else (echo Der MYSQL Datenbankserver laeuft nicht!)
echo.
echo.
echo %date% - %time% - Server %ip% online!
echo.
echo %date% - %time% - Server %ip% online!
echo.
echo %date% - %time% - Server %ip% online!
echo.
echo %date% - %time% - Server %ip% online!
echo.
echo %date% - %time% - Server %ip% online!
echo.
echo %date% - %time% - Server %ip% online!
echo.
echo %date% - %time% - Server %ip% online!
echo.
echo %date% - %time% - Server %ip% online!
echo.
echo %date% - %time% - Server %ip% online!
echo.
echo %date% - %time% - Server %ip% online!
echo.
echo Versuche aktuellste Dateien von %sicherung1% auf %ip% zu kopieren!
echo.
xcopy "%sicherung1%" "Z:\Backup\user\server" /D /F /E /O /X /Y /R
echo.
IF NOT errorlevel 1 (echo Kopieren abgeschlossen...) else (echo Es wurde nichts kopiert...)
echo.
echo.
echo Versuche aktuellste Dateien von %sicherung2% auf %ip% zu kopieren!
echo.
xcopy "%sicherung2%" "Z:\Backup\userEigene_Dateien\user" /D /F /E /O /X /Y /R
echo.
IF NOT errorlevel 1 (echo Kopieren abgeschlossen...) else (echo Es wurde nichts kopiert...)
echo.
echo.
echo %date% - %time% - Server %ip% online!
echo.
echo %date% - %time% - Server %ip% online!
echo.
echo %date% - %time% - Server %ip% online!
echo.
echo %date% - %time% - Server %ip% online!
echo.
echo %date% - %time% - Server %ip% online!
echo.
echo %date% - %time% - Server %ip% online!
echo.
echo %date% - %time% - Server %ip% online!
echo.
echo %date% - %time% - Server %ip% online!
goto serverping
:serverwait
color 06
title Ueberwachung des Servers: %ip% - %time% - %date%
echo.
echo %date% - %time% - Warte auf reconnect von %ip%...
echo.
echo %date% - %time% - Warte auf reconnect von %ip%...
echo.
echo %date% - %time% - Warte auf reconnect von %ip%...
echo.
echo %date% - %time% - Warte auf reconnect von %ip%...
echo.
echo %date% - %time% - Warte auf reconnect von %ip%...
echo.
echo %date% - %time% - Warte auf reconnect von %ip%...
echo.
echo %date% - %time% - Warte auf reconnect von %ip%...
echo.
echo %date% - %time% - Warte auf reconnect von %ip%...
echo.
echo %date% - %time% - Warte auf reconnect von %ip%...
echo.
echo %date% - %time% - Warte auf reconnect von %ip%...
echo.
echo %date% - %time% - Warte auf reconnect von %ip%...
echo.
echo %date% - %time% - Warte auf reconnect von %ip%...
echo.
echo %date% - %time% - Warte auf reconnect von %ip%...
echo.
echo %date% - %time% - Warte auf reconnect von %ip%... >>"C:\server01-ueberwachung.log"
ping %ip% -n 3
IF NOT errorlevel 1 (goto serverping) else (goto serverdown)
:serverdown
color 04
title Ueberwachung des Servers: %ip% - %time% - %date%
echo Warte auf Verbindung zu Server %ip%
echo.
ping %ip% -n 2
IF NOT errorlevel 1 (goto serverstartwatch) else (goto serveroffline)
echo.
:serveroffline
echo.
echo %date% - %time% - Keine Verbindung zu Server!
echo %date% - %time% - Keine Verbindung zu Server!
echo %date% - %time% - Keine Verbindung zu Server!
echo %date% - %time% - Keine Verbindung zu Server!
echo %date% - %time% - Keine Verbindung zu Server!
echo %date% - %time% - Keine Verbindung zu Server!
echo %date% - %time% - Keine Verbindung zu Server!
echo %date% - %time% - Keine Verbindung zu Server!
echo %date% - %time% - Keine Verbindung zu Server!
echo %date% - %time% - Keine Verbindung zu Server!
echo %date% - %time% - Keine Verbindung zu Server!
echo %date% - %time% - Keine Verbindung zu Server!
echo %date% - %time% - Keine Verbindung zu Server!
echo %date% - %time% - Keine Verbindung zu Server!
echo %date% - %time% - Keine Verbindung zu Server!
echo %date% - %time% - Keine Verbindung zu Server!
echo %date% - %time% - Keine Verbindung zu Server!
echo %date% - %time% - Keine Verbindung zu Server!
echo %date% - %time% - Keine Verbindung zu Server!
echo %date% - %time% - Keine Verbindung zu Server!
echo %date% - %time% - Keine Verbindung zu Server!
echo %date% - %time% - Keine Verbindung zu Server!
echo %date% - %time% - Keine Verbindung zu Server!
echo %date% - %time% - Keine Verbindung zu Server!
echo %date% - %time% - Keine Verbindung zu Server!
echo %date% - %time% - Keine Verbindung zu Server!
echo %date% - %time% - Keine Verbindung zu Server!
echo Starte Webserver: Apache2.2
NET START | FIND "Apache2.2"
if ERRORLEVEL = 1 (
net start Apache2.2
) else (
echo Der Apache Webserver laeuft!
echo.
)
echo.
echo.
echo Starte Datenbankserver: MYSQL
NET START | FIND "MySQL"
if ERRORLEVEL = 1 (
net start MySQL
) else (
echo Der MySQL Datenbankserver laeuft!
echo.
)
echo %date% - %time% - Keine Verbindung zu Server!
echo %date% - %time% - Keine Verbindung zu Server!
echo %date% - %time% - Keine Verbindung zu Server!
echo %date% - %time% - Keine Verbindung zu Server!
echo %date% - %time% - Keine Verbindung zu Server!
echo %date% - %time% - Keine Verbindung zu Server! >>"C:\server01-ueberwachung.log"
echo %date% - %time% - Keine Verbindung zu Server!
echo %date% - %time% - Keine Verbindung zu Server!
echo %date% - %time% - Keine Verbindung zu Server!
echo %date% - %time% - Keine Verbindung zu Server!
echo %date% - %time% - Keine Verbindung zu Server!
echo %date% - %time% - Keine Verbindung zu Server!
echo %date% - %time% - Keine Verbindung zu Server!
echo %date% - %time% - Keine Verbindung zu Server!
goto serverdown
greeZ