Sehr einfache und effektive Alternative zur Datensicherung
Verfasst: Samstag 22. Januar 2022, 15:00
Hallo,
ich habe mich ein wenig mit der Datensicherung beschäftigt, weil ich mit den Lösungen von CGM unzufrieden bin.
Es gibt ein sehr effektives Tool von Microsoft: robocopy. Ist auf jedem Windows-Rechner vorhanden.
https://docs.microsoft.com/de-de/window ... s/robocopy
Nach dem Turbomed einmalig durch das Script kopiert wurde dauert die Synchronisierung von 90 Gbyte nur 20 Sekunden!!! (abhängig von der Festplattengeschwindigkeit, bei mir ist es eine SSD-Festplatte mit 1.050 MB/s).
Der folgende Code legt insgesamt 5 Backups an (Montag,Dienstag,Mittwoch,Donnerstag und Freitag).
Das Script stoppt vor der Synchronisierung die Datenbank und startet diese anschließend wieder.
Den folgenden Code einfach mit dem Texteditor als mirror.bat speichern.
Das Script muss als Administrator ausgeführt werden.
Zeitgesteuert kann das Script über den Aufgabenplaner ausgeführt werden. (Hohe Privilegien ankreuzen)
Die Pfade müssen angepasst werden.
Bei mir ist d:\turbomed das Quellverzeichnis.
e:\server2\mirror\%WoTa%\d\turbomed ist das Zielverzeichnis (der Wochentag wird automatisch eingesetzt, Ordner werden automatisch angelegt)
c:\backup\mirrorlog\turbomed.log ist die Logdatei
-----------------------------
@echo off
FOR /F "tokens=1,2,3 delims=." %%a in ('echo %date%') do set yy=%%c & set mm=%%b & set dd=%%a
set /a "TwoDigitYearMax=2038%%1000"
if 1%yy% LSS 200 if 1%yy% LSS 1%TwoDigitYearMax% (set yy=20%yy%) else (set yy=19%yy%)
set /a dd=100%dd%%%100,mm=100%mm%%%100
set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,dow=153*m+2
set /a dow=dow/5+dd+y*365+y/4-y/100+y/400-2472630,dow%%=7,dow+=1
If %dow% equ 1 set "WoTa=Montag"
If %dow% equ 2 set "WoTa=Dienstag"
If %dow% equ 3 set "WoTa=Mittwoch"
If %dow% equ 4 set "WoTa=Donnerstag"
If %dow% equ 5 set "WoTa=Freitag"
If %dow% equ 6 set "WoTa=S"
If %dow% equ 7 set "WoTa=S"
If not "%WoTa%"=="S" (
net stop "FastObjects Server (x64) 12.0"
robocopy d:\turbomed e:\server2\mirror\%WoTa%\d\turbomed /mir /MT:8 /r:0 /w:0 /unilog:c:\backup\mirrorlog\turbomed.log
net start "FastObjects Server (x64) 12.0"
)
------------------------------------------
Viele Grüße
Markus
ich habe mich ein wenig mit der Datensicherung beschäftigt, weil ich mit den Lösungen von CGM unzufrieden bin.
Es gibt ein sehr effektives Tool von Microsoft: robocopy. Ist auf jedem Windows-Rechner vorhanden.
https://docs.microsoft.com/de-de/window ... s/robocopy
Nach dem Turbomed einmalig durch das Script kopiert wurde dauert die Synchronisierung von 90 Gbyte nur 20 Sekunden!!! (abhängig von der Festplattengeschwindigkeit, bei mir ist es eine SSD-Festplatte mit 1.050 MB/s).
Der folgende Code legt insgesamt 5 Backups an (Montag,Dienstag,Mittwoch,Donnerstag und Freitag).
Das Script stoppt vor der Synchronisierung die Datenbank und startet diese anschließend wieder.
Den folgenden Code einfach mit dem Texteditor als mirror.bat speichern.
Das Script muss als Administrator ausgeführt werden.
Zeitgesteuert kann das Script über den Aufgabenplaner ausgeführt werden. (Hohe Privilegien ankreuzen)
Die Pfade müssen angepasst werden.
Bei mir ist d:\turbomed das Quellverzeichnis.
e:\server2\mirror\%WoTa%\d\turbomed ist das Zielverzeichnis (der Wochentag wird automatisch eingesetzt, Ordner werden automatisch angelegt)
c:\backup\mirrorlog\turbomed.log ist die Logdatei
-----------------------------
@echo off
FOR /F "tokens=1,2,3 delims=." %%a in ('echo %date%') do set yy=%%c & set mm=%%b & set dd=%%a
set /a "TwoDigitYearMax=2038%%1000"
if 1%yy% LSS 200 if 1%yy% LSS 1%TwoDigitYearMax% (set yy=20%yy%) else (set yy=19%yy%)
set /a dd=100%dd%%%100,mm=100%mm%%%100
set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,dow=153*m+2
set /a dow=dow/5+dd+y*365+y/4-y/100+y/400-2472630,dow%%=7,dow+=1
If %dow% equ 1 set "WoTa=Montag"
If %dow% equ 2 set "WoTa=Dienstag"
If %dow% equ 3 set "WoTa=Mittwoch"
If %dow% equ 4 set "WoTa=Donnerstag"
If %dow% equ 5 set "WoTa=Freitag"
If %dow% equ 6 set "WoTa=S"
If %dow% equ 7 set "WoTa=S"
If not "%WoTa%"=="S" (
net stop "FastObjects Server (x64) 12.0"
robocopy d:\turbomed e:\server2\mirror\%WoTa%\d\turbomed /mir /MT:8 /r:0 /w:0 /unilog:c:\backup\mirrorlog\turbomed.log
net start "FastObjects Server (x64) 12.0"
)
------------------------------------------
Viele Grüße
Markus