Datensicherung - Konfigurationsbeispiel

Fragen, Anregungen oder Tipps und Tricks? Hier ist der erste Anlaufpunkt.
Nicht sicher, wo ein Thema hingehört? Hier hinein - wir kümmern uns! :)

Moderator: Forum Moderatoren

Forumsregeln
TM-Startforum - "offen für alle Themen".
Beiträge, die in einen anderen Bereich passen, werden bei Bedarf verschoben.
lapins
PowerUser
Beiträge: 494
Registriert: Donnerstag 7. April 2005, 12:44
18
Wohnort: Heckental
Hat sich bedankt: 1 time
Bedankt: 1 time

Re: Datensicherung - Konfigurationsbeispiel

Beitrag von lapins »

Ich hab Ihren Skript erst jetzt gefunden / angeschaut. Vielen Dank für die Anregungen in Bezug auf "set" und "for" Befehle, die ich zwar auch benutze , aber man lernt immer was dazu!!!

Fragen
1) Was machen Sie mit "fehler"? Sie addieren den ERRORLEVEL und dann ?
2) Sie wiederholen identische Befehle ? siehe

Code: Alles auswählen

robocopy C:\tmdaten\IV_Verwaltung C:\TurboMed\IV_Verwaltung\data\Data /MIR /NP /LOG+:C:\tmdaten\log_file_rob.txt
3) set /a vormonat=..... jetzt im Januar? Schauen Sie mal nach was passiert!

3.1 Nur Z:\Dokumente\Sonstiges\ sichern? was ist mit ..\Patbrief, ..\video (oder haben Sie nur pdf nach dem scannen?)

3.2 ich sichere auch noch geänderte Dateien von
  • \KVDT\abrechnungen
    ..\Formulare (wegen etwaiger änderungen von GDT , suchkriterien.usr )
    ..\word

die sich zwar selten verändern aber wo es blöd wäre wenn sie verloren gingen.


4) Angeregt durch Ihren Beitrag habe ich die errorlevels von robocopy gesucht+gefunden aber bin noch nicht schlau, wie man diese sinnvoll verwendet. Soll ja von 1-16 gehen.


Wieso reite ich darauf herum? Seit einiger Zeit verfolgt mich die IV_Verwaltng, weil ich das eine oder andere mal meine, im robocopy log Sperrungen gesehen zu haben.

Mit TMADMIn kann man die TM-praxis-db elegant fürs Kopieren freigeben.

Auf die IV-Verwaltung wird aber, wie es mir scheint direkt zugegriffen. Wenn man während des Betriebes kopiert, was ist da mit der Konsistenz....?

Das macht mir im Moment Sorgen, denn irgendeine Station ist ja immer noch an.

Ich hab mir schon überlegt ob es notwendig ist, Abends/Nächtens mal das Netztwerk zu kappen, alle rdp-sessions zu killen , mit taskill alles was sich bewegt platt zu machen und dann diese Dateien zu SICHERN, aber das ist immer Arbeit.

Sehe ich Gespenster ? Immerhin sind eine Menge Patienten im HZV! (Bayern natürlich derzeit nicht :roll: )
Hat jemand das Sichern der IV_Verwaltung während des Betriebes gelöst? Geht das überhaupt?

mfg rLap
lcer
Beiträge: 574
Registriert: Sonntag 26. Oktober 2008, 09:15
15
Hat sich bedankt: 4 times
Bedankt: 21 times

Re: Datensicherung - Konfigurationsbeispiel

Beitrag von lcer »

Hallo,

vielleicht als Alternative bzw. Hinweis. Ich habe ein etwas ausgedehnteres Netzwerk mit 2 Standorten. Für das kopieren zwischen den Standorten nutze ich robocopy (Als "RobustCopy" für solche sachen von Microsoft bereitgestellt). Zur Sicherung verwende ich ntbackup siehe http://en.wikipedia.org/wiki/NTBackup
Das unterstützt das kopieren mittels Volumeschattenkopie und sichert auch Dateien, auf die gerade zugegriffen wird. Man kann damit auch auf Netzwerklaufwerke, auch auf Netzwerkfestplatten sichern.
Auf einem Windows-Server kann man auch die Sicherung unter einem bestimmten Benutzerkonto (z.B. Administrator) laufen lassen, so dass keine Zugriffsrechteverletzungen entstehen. Einzig die Sicherungslog-Dateien sind etwas umständlich zu finden. dazu habe ich aber ein Sktipt, dass ich im Bedarfsfall hier einstellen kann.

Grüße

lcer
Benutzeravatar
wahnfried
PowerUser
Beiträge: 3180
Registriert: Freitag 13. Januar 2006, 23:46
18
Wohnort: Braunschweig

Re: Datensicherung - Konfigurationsbeispiel

Beitrag von wahnfried »

lcer hat geschrieben:vielleicht als Alternative bzw. Hinweis. ...habe ich aber ein Sktipt, dass ich im Bedarfsfall hier einstellen kann.
Hallo Icer,

das würde mich sehr interessieren, allerdings mit etwas detaillierter Konzeptdarstellung, damit es mit Herrn Geigenbergers Darstellung vergleichbar wird.

In Wikipedia lese ich als Erstes, daß NTBackup nur bis Server 2003 und XP geht, für Server 2008 heißt es "Windows Server Backup", nicht mehr für Bandsicherung geeignet, für Vista und spätere ist es dann das Windows_Backup_and_Restore_Center ( http://en.wikipedia.org/wiki/Backup_and_Restore_Center ). Das macht es sicherlich schwierig, auf dieser Basis Scripts zu entwickeln, es sei denn, man entwickelt sie für alle drei Varianten. Dazu könnte Ihr Beitrag Anlaß sein.

@ Geigenberger:
Herr Geigenberger, Ihre Scripte sind m.E. betriebssystemübergreifend für alle Windows-Versionen nutzbar?

Viele Grüsse, Wahnfried (gerade vergrippt und Praxis mangels Sprech-Fähigkeit dicht, daher Zeit am Tage...)
kalli
Beiträge: 253
Registriert: Freitag 22. August 2008, 08:03
15
Wohnort: Leverkusen

Re: Datensicherung - Konfigurationsbeispiel

Beitrag von kalli »

Wochentag berechnen: Eine recht kurzweilige Beschreibung wie man Wochentag herausbekommt findet sich hier:
http://de.wikipedia.org/wiki/Wochentagsberechnung - Kalli
Benutzeravatar
Geigenberger
PowerUser
Beiträge: 1302
Registriert: Dienstag 9. Dezember 2003, 22:26
20
Bedankt: 3 times

Re: Datensicherung - Konfigurationsbeispiel

Beitrag von Geigenberger »

Hallo lapins,

erstmal Danke für Ihre genaue Analyse meiner Batch-Datei!! Meine Entschuldigung, warum ich jetzt erst antworte, habe ich Ihnen ja bereits gemailt.

Zu1:
"fehler" ist eine Variable, in der ich die Errorlevels der einzelnen Schritt aufaddiere. Ursprünglicher Gedanke: Ich addiere alle Errorlevels auf und wenn am ende eine Zahl > 0 rauskommt, muß ein Fehler aufgetreten sein. Dem ist aber nicht so:

errorlevel 1 Copy successful
errorlevel 0 –no change–

Ich habe deshalb diesen Gedanken wieder aufgegeben, die Zeilen aber erstmal belassen. Dafür lasse ich das Logfile am Ende der Prozedur auf dem Bildschirm stehen.

Zu2)
Die identischen Befehle waren Kopierfehler. Bitte um Entschuldigung

Zu 3)
set /a vormonat: ist ein krasser Fehler (Es kam ja auch Errorlevel 16!: Zwar gesehen, aber bisher – aus Nachlässigkeit – nicht beachtet) Vielen Dank!!
So könnte die Korrektur aussehen:

@echo off
@cls
set /a aktmonat=%date:~-4%%date:~-7,2%
set /a vormonat=%date:~-4%%date:~-7,2%-1
set /a Monat=%date:~-7,2%
if [%Monat%] == [1] goto Jahreswechsel
:back
echo %aktmonat%
echo %vormonat%
pause
goto Ende

:Jahreswechsel
set /a Jahr=%date:~-4%-1
set Monat=12
set vormonat=%Jahr%%Monat%
goto back

:Ende


Zu 3.1:
Ich habe nur PDF's nach dem Scannen, deshalb genügt 'Sonstiges'. Da diese Datensicherung ja 'im laufenden Betrieb' gemacht wird, wollte ich nicht den ganzen Dokumenten-Ordner sichern, da der Rechner während der Sicherungszeit ja schon etwas blockiert ist. Die Sicherung des gesamten Dokumente-Ordners mache ich aber gelegentlich (eher selten) manuell

Zu 3.2:
gute Anregung! Danke!

Zu 4: (da fand ich folgendes:)

Alternatively, full details of the return code could be reported as follows:
if errorlevel 16 echo ***FATAL ERROR*** & goto end
if errorlevel 15 echo FAIL MISM XTRA COPY & goto end
if errorlevel 14 echo FAIL MISM XTRA & goto end
if errorlevel 13 echo FAIL MISM COPY & goto end
if errorlevel 12 echo FAIL MISM & goto end
if errorlevel 11 echo FAIL XTRA COPY & goto end
if errorlevel 10 echo FAIL XTRA & goto end
if errorlevel 9 echo FAIL COPY & goto end
if errorlevel 8 echo FAIL & goto end
if errorlevel 7 echo MISM XTRA COPY & goto end
if errorlevel 6 echo MISM XTRA & goto end
if errorlevel 5 echo MISM COPY & goto end
if errorlevel 4 echo MISM & goto end
if errorlevel 3 echo XTRA COPY & goto end
if errorlevel 2 echo XTRA & goto end
if errorlevel 1 echo COPY & goto end
if errorlevel 0 echo –no change– & goto end
:end

Ad 5)
Die IV Verwaltung sichere ich nach dem Ausführen des Befehls:
T:\Programm\TMAdmin /endbackup /server=Bach
Evtl. Wäre es sinnvoll, dies während des Sicherungsmodus des Servers zu machen; bisher gab's aber noch keine Probleme.
Ad 6) Mein Server läuft nicht durch. Sicherung der IV-verwaltung während des Betriebs ->????

Viele herzlichen Dank für Ihre ausführliche Analyse!!

A. Geigenberger
lcer
Beiträge: 574
Registriert: Sonntag 26. Oktober 2008, 09:15
15
Hat sich bedankt: 4 times
Bedankt: 21 times

Re: Datensicherung - Konfigurationsbeispiel

Beitrag von lcer »

Hallo,

na dann wollen wir mal ... Mein "Konzept", grob skizziert.

robocopy siehe http://en.wikipedia.org/wiki/Robocopy

ntbackup gibt es auf xp, server2003, ab server2008 heißt es anders, wie auch immer, ob es auf dem Rechner installiert ist, kann man prüfen, wenn man in der commandozeile einfach ntbackup tippt.

Windows Backup hat prinzipiell die gleiche Funktionalität wie ntbackup.

Mein Sicherungskonzept:

Besonderheiten des Netzwerkes:
- Windows2003 Domäne mit zentraler Ablage der Benutzerdaten (Desktop + Eigene Dateien + Benutzerprofile liegen auf Server)
- Terminalserverzugriff vom 2. Standort aus
- Viel Medizintechnik, die EDV-Daten-Dateien produziert.
- Ich nutze die IV-Verwaltung aus Turbomed nicht.

Ziel:
1) Sicherung zum schnellen Wiederherstellen des Systems nach Serverschäden
2) Sicherung gegen Festplattenausfälle
3) Sicherung gegen Vandalismus und Diebstahl der Daten

Umsetztung:

- Hardware: RAID 1 und unterbrechungsfreie Stromversorgung für Server (primärer Domaincontroller)
- Sicherung in den Räumen Praxis auf eine Netzwerkfestplatte (Maxtor Shared Storage II, jetzt Segate)
- Sicherung auf eine USB-Festplatte, die "nicht in der Praxis schläft"

Skripte etc:

Alle Medizinischen Geräte (Ultraschall, Kamera, Fluoreszeinangiographie, Gesichtsfeld etc - ach ja, bin Augenarzt) sichern ihre Daten, die nicht direkt im Turbomed hinterlegt werden können zentral auf einem Server. Die Übertragung erfolgt mittels robocopy:

Code: Alles auswählen

SET _source="C:\Data"

SET _dest=\\backupserver\

SET _what=/COPYALL /B /SEC /E
:: /COPYALL :: COPY ALL file info
:: /B :: copy files in Backup mode. 
:: /SEC :: copy files with SECurity
:: /MIR :: MIRror a directory tree 

SET _options=/R:0 /W:0 /LOG:LogfileDataBackup.txt 
:: /R:n :: number of Retries
:: /W:n :: Wait time between retries
:: /LOG :: Output log file
:: /NFL :: No file logging
:: /NDL :: No dir logging 

C:\Tools\robocopy %_source% %_dest% %_what% %_options%
Achtung: Robocopy kann z.B. über die Option /MIR Dateien löschen! immer erst die Hilfe lesen, dann Testen dann denn Einsatz an echten Daten.

Vom Server erfolgen mehere mehrere Sicherungsvorgänge:
1) Alle Programme schreiben Ihre Medizinischen Daten in ein Unterverzeichnis eines bestimmten Verzeichnisses ("Daten"), dass komplett gesichert werden soll
2) Falls das nicht der Fall ist, erfolgt eine automatische Sicherung durch das Programm selbst (z.B. MySQL-Datenbank meines "Praxiswikis") oder per batch-Datei in dieses Verzeichnis. Hier kann sichert auch Turbomed per Tmadmin hin : Beispiel mit XCopy, Robocopy ginge auch.

Code: Alles auswählen

F:\turbomed\programm\TMAdmin /beginBackup /server=tmserver /logfile=f:\dasi\TMadmin.log
XCOPY F:\turbomed\PraxisDB\*.* F:\dasi\PraxisDB\ /E /D /C /H /F /y
F:\turbomed\programm\TMAdmin /endBackup /tmserver=server /logfile=f:\dasi\TMadmin.log
3) Sicherung auf ein NAS-Festplatte (inkrementielle Sicherung) der Systemdaten incl. Systemlaufwerk und Benutzerverzeichnisse zum Wiederherstellen des Servers bei "Totalschaden" (Hintergund: ich kann ohne einen funktinierenden Server in meinem Netzwerk mit zwei Standorten nicht arbeiten.) sowie der "Daten" aus 1) + 2)
4) Eine Sicherung der Turbomeddatenbank erfolgt beim Verlassen von Turbomed auf eine USB-Festplatte.
5) Auf diese USB-Festplatte sichert ebenfalls eine inkrementielle NTBackup-Sicherung die Systemdaten sowie die TM-Dokumente und andere Daten.

zu ntbackup:

die Erstellung von Sicherungsaufträgen erfolgt recht einfach über die Bedienoberfläche. Ich habe dabei "inkrementielle Sicherung" eingestellt. Die Sicherung kann über "geplante Tasks" geplant, also regelmäßig ausgeführt werden. Dabei wird ein von ntbackup automatisch eine Task erstellt. Den Aufruf von ntbackup kann man aber auch in ein Skript auslagern Der Aufruf von NT-Backup wäre dann:

Code: Alles auswählen

C:\WINDOWS\system32\ntbackup.exe backup "@C:\Dokumente und Einstellungen\Administrator\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windows NT\NTBackup\data\SicherungMSSIISystem.bks" /a /d "Satz am 

10.01.2011 um 12:40 erstellt" /v:yes /r:no /rs:no /hc:off /m incremental /j "SicherungMSSIISystem" /l:s /f "\\Mssii\backup\SicherungSystem.bkf"
ntbackup speichert nur die letzten 10 Protokolle. Die Protokolle werden gesichert über ein skript:

Code: Alles auswählen

echo off 

mkdir C:\tmp\ntbackup\templog 

copy "C:\Dokumente und Einstellungen\Administrator\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windows NT\NTbackup\Data\backup*.log" C:\tmp\ntbackup\templog\*.* /y 

FOR /F "usebackq tokens=1" %%n IN (`dir C:\tmp\ntbackup\templog /b`) DO FOR /F "usebackq tokens=2,3,4 delims=. " %%d IN (`date /t`) DO FOR /F "usebackq tokens=1,2 delims=: " %%t IN (`time /t`) DO ren 

C:\tmp\ntbackup\templog\%%n %%d%%e%%f-%%t%%u%%n 

copy C:\tmp\ntbackup\templog\*.* F:\BackupSteuerung\LogFiles\ntbackup 

del C:\tmp\ntbackup\templog\*.log 
del "C:\Dokumente und Einstellungen\Administrator\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windows NT\NTbackup\Data\backup*.log"

rmdir /q C:\tmp\ntbackup\templog 
bevor einer fragt, den Code gabs irgendwo im Internet und die 3. Zeile verstehe ich nur zum Teil.

zu Geplante Tasks:
auf dem Server ist es etwas schwierig, da der nicht-Administrator die Tasks standartmäßig nicht sehen oder starten kann. Soll beispielsweise die Helferin die Sicherung manuell starten können, muss man etwas "tricksen". Man muss die Sicherheitseinstellungen anpassen, zum Teil über Gruppenrichtlinien zum Teil über die Zugriffsrechte. Prinzipiell reicht es aber, die Sicherungstasks als Administrator zu erstellen

und als Administrator ausführen zu lassen (alternativ: ein spezieller Sicherungsoperator-Benutzer wird eingerichtet).
Die Tasks habe ich über "mehrfache Zeitpläne" so eingestellt, dass eine Sicherung täglich zu festgelegten Zeiten erfolgt und zwar in folgender Reihenfolge:
- Daten "sammeln", dass heißt in das Backupsammelverzeichnis kopieren.
- das gesamte Sammelverzeichnis + alle relevanten Systemdaten (siehe oben) auf die Netzwerkfestplatte sichern (nachts)
- die USB-Festplatte wid bei Sprechstundenbeginn an den Server angeschlossen (sagen wir ca. 7:00), die Sicherung der Daten des Sammelverzeichnisses + Systemdaten erfolgt dann ab ca. 8:00 im laufenden

Betrieb.
- zum Praxisende wird die Turbomeddatensicherung ("Datensicherung bei Beenden") von der Helferin gestartet - Sicherung auf die USB-Festplatte - USB-Festplatte verläßt die Praxis.


Momentan warte ich noch auch ein Angebot, einer hiesigen Computerfirma, meine Daten online sichern zu lassen. Das könnte dann auch nachts bzw. nach Sprechstundenende passieren. Allerdings sind mir die Preise und die genaue technische Machbarkeit noch nicht bekannt.

grüße

lcer
Benutzeravatar
Geigenberger
PowerUser
Beiträge: 1302
Registriert: Dienstag 9. Dezember 2003, 22:26
20
Bedankt: 3 times

Re: Datensicherung - Konfigurationsbeispiel

Beitrag von Geigenberger »

Hallo,

hier nochmal meine aktuelle Batch-Datei, in die die Hinweise von "lapins" eingearbeitet sind:

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

@echo off
@cls

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=Samstag"
If %dow% equ 7 set "WoTa=Sonntag"

echo.
echo.
echo ########## Sicherung wichtiger Praxis-Daten #######
echo.
echo ########## Heute ist: %WoTa% ,der %date% # %time% Uhr
echo.
echo.
ping -n 1 x 127.0.0.1 > NUL
ping -n 1 x 127.0.0.1 > NUL
echo ########## Spiegelung der Praxis-Datenbank #######
echo.
echo.
ping -n 1 x 127.0.0.1 > NUL
ping -n 1 x 127.0.0.1 > NUL
T:\Programm\TMAdmin /beginBackup /server=Bach
echo.
echo.
echo ####################################################
echo Erstellt am: %date% um: %time% > C:\tmdaten\log_file_rob.txt
echo Erstellt am: %date% um: %time% > C:\tmdaten\log_file_lev.txt
echo.
echo.
echo #01 Z:\Dictionary ### %time%
robocopy Z:\Dictionary C:\tmdaten\Dictionary /MIR /NP /LOG+:C:\tmdaten\log_file_rob.txt
echo ############################ 01 ## Errorlevel: %ERRORLEVEL% ##
echo ## 01 # %time% # Errorlevel: %ERRORLEVEL% ## >> C:\tmdaten\log_file_lev.txt
echo.
echo.
echo #02 Z:\DruckDB ### %time%
robocopy Z:\DruckDB C:\tmdaten\DruckDB /MIR /NP /LOG+:C:\tmdaten\log_file_rob.txt
echo ############################ 02 ## Errorlevel: %ERRORLEVEL% ##
echo ## 02 # %time% # Errorlevel: %ERRORLEVEL% ## >> C:\tmdaten\log_file_lev.txt
echo.
echo.
echo #03 Z:\PraxisDB ### %time%
robocopy Z:\PraxisDB C:\tmdaten\PraxisDB /MIR /NP /LOG+:C:\tmdaten\log_file_rob.txt
echo ############################ 03 ## Errorlevel: %ERRORLEVEL% ##
echo ## 03 # %time% # Errorlevel: %ERRORLEVEL% ## >> C:\tmdaten\log_file_lev.txt
echo.
echo.
echo #04 T:\IV_Verwaltung\data\Data ### %date% # %time%
robocopy T:\IV_Verwaltung\data\Data C:\tmdaten\IV_Verwaltung /MIR /NP /LEV:1 /LOG+:C:\tmdaten\log_file_rob.txt
echo ############################ 04 ## Errorlevel: %ERRORLEVEL% ##
echo ## 04 # %time% # Errorlevel: %ERRORLEVEL% ## >> C:\tmdaten\log_file_lev.txt
echo.
echo.
T:\Programm\TMAdmin /endbackup /server=Bach
echo.
echo.
echo.
echo #11 Z:\Symbole ### %time%
robocopy Z:\Symbole C:\tmdaten\Symbole /MIR /NP /LOG+:C:\tmdaten\log_file_rob.txt
echo ############################ 11 ## Errorlevel: %ERRORLEVEL% ##
echo ## 11 # %time% # Errorlevel: %ERRORLEVEL% ## >> C:\tmdaten\log_file_lev.txt
echo.
echo.
echo #12 Z:\Vorlagen ### %time%
robocopy Z:\Vorlagen C:\tmdaten\Vorlagen /MIR /NP /LOG+:C:\tmdaten\log_file_rob.txt
echo ############################ 12e ## Errorlevel: %ERRORLEVEL% ##
echo ## 12 # %time% # Errorlevel: %ERRORLEVEL% ## >> C:\tmdaten\log_file_lev.txt
echo.
echo.
echo #21 T:\Desktopobjekte ### %time%
robocopy T:\Desktopobjekte C:\tmdaten\Desktopobjekte /MIR /NP /LOG+:C:\tmdaten\log_file_rob.txt
echo ############################ 21 ## Errorlevel: %ERRORLEVEL% ##
echo ## 21 # %time% # Errorlevel: %ERRORLEVEL% ## >> C:\tmdaten\log_file_lev.txt
echo.
echo.
echo #22 C:\tmdaten\IV_Verwaltung ### %time%
robocopy C:\tmdaten\IV_Verwaltung C:\TurboMed\IV_Verwaltung\data\Data /MIR /NP /LOG+:C:\tmdaten\log_file_rob.txt
echo ############################ 31 ## Errorlevel: %ERRORLEVEL% ##
echo ## 22 # %time% # Errorlevel: %ERRORLEVEL% ## >> C:\tmdaten\log_file_lev.txt
echo.
echo.
echo #32 C:\tmdaten\Symbole ### %time%
robocopy C:\tmdaten\Symbole C:\TurboMed\Symbole /MIR /NP /LOG+:C:\tmdaten\log_file_rob.txt
echo ############################ 32 ## Errorlevel: %ERRORLEVEL% ##
echo ## 32 # %time% # Errorlevel: %ERRORLEVEL% ## >> C:\tmdaten\log_file_lev.txt
echo.
echo.
echo #33 C:\tmdaten\Vorlagen ### %time%
robocopy C:\tmdaten\Vorlagen C:\Turbomed\Vorlagen /MIR /NP /LOG+:C:\tmdaten\log_file_rob.txt
echo ############################ 33 ## Errorlevel: %ERRORLEVEL% ##
echo ## 33 # %time% # Errorlevel: %ERRORLEVEL% ## >> C:\tmdaten\log_file_lev.txt
echo.
echo.
echo #34 C:\tmdaten\Desktopobjekte ### %time%
robocopy C:\tmdaten\Desktopobjekte C:\TurboMed\Desktopobjekte /MIR /NP /LOG+:C:\tmdaten\log_file_rob.txt
echo ############################ 34e ## Errorlevel: %ERRORLEVEL% ##
echo ## 34 # %time% # Errorlevel: %ERRORLEVEL% ## >> C:\tmdaten\log_file_lev.txt
echo.
set /a aktmonat=%date:~-4%%date:~-7,2%
set /a vormonat=%date:~-4%%date:~-7,2%-1
set /a Monat=%date:~-7,2%

if [%Monat%] == [1] goto Jahreswechsel
:back

echo.
echo %aktmonat%
echo %vormonat%
echo.


echo #41#Vormonat# Z:\Dokumente\Sonstiges\%vormonat% ### %time%
robocopy Z:\Dokumente\Sonstiges\%vormonat% C:\tmdaten\Dokumente\Sonstiges\%vormonat% /MIR /NP /LOG+:C:\tmdaten\log_file_rob.txt
echo ########################## 41 ##Errorlevel: %ERRORLEVEL% ##
echo ## 41 # %time% # Errorlevel: %ERRORLEVEL% ## >> C:\tmdaten\log_file_lev.txt
echo.
echo.
echo #42#aktueller Monat# Z:\Dokumente\Sonstiges\%aktmonat% ### %time%
robocopy Z:\Dokumente\Sonstiges\%aktmonat% C:\tmdaten\Dokumente\Sonstiges\%aktmonat% /MIR /NP /LOG+:C:\tmdaten\log_file_rob.txt
echo ########################## 42 ##Errorlevel: %ERRORLEVEL% ##
echo ## 42 # %time% # Errorlevel: %ERRORLEVEL% ## >> C:\tmdaten\log_file_lev.txt
echo.
echo.
echo.
echo ########## Heute ist: %WoTa% ,der %date% #######
echo.
echo ############ ....umkopieren
echo.

Rmdir /Q /S C:\tmdaten_sich_wochenweise\%WoTa%\O5
ren C:\tmdaten_sich_wochenweise\%WoTa%\O4 O5
ren C:\tmdaten_sich_wochenweise\%WoTa%\O3 O4
ren C:\tmdaten_sich_wochenweise\%WoTa%\O2 O3
ren C:\tmdaten_sich_wochenweise\%WoTa%\O1 O2
Mkdir C:\tmdaten_sich_wochenweise\%WoTa%\O1

echo.
echo #51 C:\tmdaten\Dictionary ### %time%
robocopy C:\tmdaten\Dictionary C:\tmdaten_sich_wochenweise\%WoTa%\O1\Dictionary /MIR /NP /LOG+:C:\tmdaten\log_file_rob.txt
echo ############################ 51 ## Errorlevel: %ERRORLEVEL% ##
echo ## 51 # %time% # Errorlevel: %ERRORLEVEL% ## >> C:\tmdaten\log_file_lev.txt
echo.
echo.
echo #52 C:\tmdaten\DruckDB ### %time%
robocopy C:\tmdaten\DruckDB C:\tmdaten_sich_wochenweise\%WoTa%\O1\DruckDB /MIR /NP /LOG+:C:\tmdaten\log_file_rob.txt
echo ############################ 52 ## Errorlevel: %ERRORLEVEL% ##
echo ## 52 # %time% # Errorlevel: %ERRORLEVEL% ## >> C:\tmdaten\log_file_lev.txt
echo.
echo.
echo #53 C:\tmdaten\PraxisDB ### %time%
robocopy C:\tmdaten\PraxisDB C:\tmdaten_sich_wochenweise\%WoTa%\O1\PraxisDB /MIR /NP /LOG+:C:\tmdaten\log_file_rob.txt
echo ############################ 53 ## Errorlevel: %ERRORLEVEL% ##
echo ## 53 # %time% # Errorlevel: %ERRORLEVEL% ## >> C:\tmdaten\log_file_lev.txt
echo.
echo.
echo #54 C:\tmdaten\Vorlagen ### %time%
robocopy C:\tmdaten\Vorlagen C:\tmdaten_sich_wochenweise\%WoTa%\O1\Vorlagen /MIR /NP /LOG+:C:\tmdaten\log_file_rob.txt
echo ############################ 54 ## Errorlevel: %ERRORLEVEL% ##
echo ## 54 # %time% # Errorlevel: %ERRORLEVEL% ## >> C:\tmdaten\log_file_lev.txtset /a fehler=%fehler%+%ERRORLEVEL%
echo.
echo.
echo #55 C:\tmdaten\IV_Verwaltung ### %time%
robocopy C:\tmdaten\IV_Verwaltung C:\tmdaten_sich_wochenweise\%WoTa%\O1\IV_Verwaltung /MIR /NP /LEV:1 /LOG+:C:\tmdaten\log_file_rob.txt
echo ############################ 55 ## Errorlevel: %ERRORLEVEL% ##
echo ## 55 # %time% # Errorlevel: %ERRORLEVEL% ## >> C:\tmdaten\log_file_lev.txt
echo.
echo.
echo Datei Ende: %date% um: %time% >> C:\tmdaten\log_file_rob.txt
echo Datei Ende: %date% um: %time% >> C:\tmdaten\log_file_lev.txt

copy C:\tmdaten\log_file_lev.txt C:\tmdaten_sich_wochenweise\%WoTa%\O1
copy C:\tmdaten\log_file_rob.txt C:\tmdaten_sich_wochenweise\%WoTa%\O1

C:\tmdaten\log_file_lev.txt

goto Ende

REM ################################################

:Jahreswechsel
set /a Jahr=%date:~-4%-1
set Monat=12
set vormonat=%Jahr%%Monat%
goto back

REM ################################################

:Ende

REM ################################################
REM ################################################
echo.
echo ####### ENDE ##########
echo ####### ENDE ##########
echo ####### ENDE ##########
ping -n 1 x 127.0.0.1 > NUL

lcer
Beiträge: 574
Registriert: Sonntag 26. Oktober 2008, 09:15
15
Hat sich bedankt: 4 times
Bedankt: 21 times

Re: Datensicherung - Konfigurationsbeispiel

Beitrag von lcer »

Hallo,
Geigenberger hat geschrieben:ping -n 1 x 127.0.0.1 > NUL
wozu wird auf das loopback-interface gepingt? Als Verzögerung?

Dann ginge auch (XP, Windows 2003), nach Installation der Windows Server 2003 Resource Kit Tools, das batch-Kommando SLEEP

Bei Google habe ich auch gefunden, das das Sleep-Commando auch auf Windows-7 läuft. Da bin ich mir aber nicht sicher.

http://www.microsoft.com/downloads/deta ... 8c4790cffd
z.B. http://malektips.com/xp_dos_0002.html

Grüße

lcer
Benutzeravatar
Geigenberger
PowerUser
Beiträge: 1302
Registriert: Dienstag 9. Dezember 2003, 22:26
20
Bedankt: 3 times

Re: Datensicherung - Konfigurationsbeispiel

Beitrag von Geigenberger »

Hallo Icer,

habe weder W7 noch einen Windows-Server installiert. der Sleep Befehl steht somit nicht zur Verfügung ->

wozu wird auf das loopback-interface gepingt? Als Verzögerung? : JA

A. Geigenberger
lcer
Beiträge: 574
Registriert: Sonntag 26. Oktober 2008, 09:15
15
Hat sich bedankt: 4 times
Bedankt: 21 times

Re: Datensicherung - Konfigurationsbeispiel

Beitrag von lcer »

das Windows Server 2003 Resource Kit Tools lüuft auch auf Windows XP

Grüße

lcer
Benutzeravatar
Geigenberger
PowerUser
Beiträge: 1302
Registriert: Dienstag 9. Dezember 2003, 22:26
20
Bedankt: 3 times

Re: Datensicherung - Konfigurationsbeispiel

Beitrag von Geigenberger »

... aber ich glaube, sleep gibt's nicht in allen Windows-Versionen
Und dieser Ping Befehl läuft auf jeden Fall. Wo ist eigentlich das Problem?

A. Geigenberger
lcer
Beiträge: 574
Registriert: Sonntag 26. Oktober 2008, 09:15
15
Hat sich bedankt: 4 times
Bedankt: 21 times

Re: Datensicherung - Konfigurationsbeispiel

Beitrag von lcer »

Geigenberger hat geschrieben:... Wo ist eigentlich das Problem?
das frage ich mich auch.

Grüße

lcer
libelle17
Beiträge: 116
Registriert: Sonntag 22. Mai 2005, 09:07
18
Wohnort: Dachau
Kontaktdaten:

Re: Datensicherung - Konfigurationsbeispiel

Beitrag von libelle17 »

Zu der Bemerkung von FranzKonrad:
Nachdem bei mir die turbomed-interne Sicherung ebenfalls mehrfach nicht mehr verwendet werden konnte (einmal schlug das Entpacken einer sehr großen Dokumentensicherung fehl, einmal ließ sich zu meinem Entsetzen Turbomed mit den rückgesicherten Datenbanken nicht mehr starten mit dem Hinweis auf inkonsistente Zeitstempel), habe ich auch umgestellt auf einfaches zeitgesteuertes Kopieren.
Wenn der Backup-Modus vorher nicht gestartet wird, lassen sich die Dateien im laufenden Betrieb mit mehrern offenen Arbeitsplätzen problemlos kopieren (zumindest auf meinem Linxu-Server; bei mir mit crontab-Einträgen wie folgt:
-30 2,8,10,12,14,16,18,20,22 * * * rsync -avuz --delete /opt/turbomed/PraxisDB/ /DATA/gerade/PraxisDB
...
).
Nur bei der eventuellen Verwendung der zurückkopierten Sicherungsdateien mußte bei mir der Server gestoppt und neu gestartet werden, da er sonst noch die umbenannten Pfade mit den Originaldateien hernimmt.
G.Schade
Gerald Schade, Mittermayerstraße 13, 85221 Dachau, Tel. 08131 616380
Benutzeravatar
Geigenberger
PowerUser
Beiträge: 1302
Registriert: Dienstag 9. Dezember 2003, 22:26
20
Bedankt: 3 times

Re: Datensicherung - Konfigurationsbeispiel

Beitrag von Geigenberger »

Hallo,

ich bitte erstmal um Entschuldigung, dass ich hier einen Uralt-Thread nochmal reanimiere.
Aber in den letzten Tagen habe ich das Batch-File umgeschrieben. Durch die Verwendung von Variablen kann es leichter und viel schneller an andere Umgebungen angepasst werden.
Außerdem finden Sie einige erklärende Hinweise innerhalb dieser Batch-Datei.

Die Batchdatei macht folgendes:

Zunächst wird die Datenbank in den Backupmodus versetzt.
Anschließend werden zunächst einmal die Datenbankdateien innerhalb des Servers erst einmal kopiert. Dies funktioniert mit SSD-Platten und besonders, wenn diese in einem RAID-Verbund arbeiten sehr, sehr schnell.
Dadurch kann die Datenbank sehr zügig wieder in den "Normalmodus" versetzt werden.
Anschließend werden diese Datenbankdateien ( PraxisDB usw.) auf einen lokalen Rechner kopiert.
Anschließend folgt die erneute Kopie in ein Dateisystem, das Ihre Daten nach Wochentagen getrennt in 3 "Generationen" speichert.
Damit haben Sie bis zu drei Wochen lang lückenlosen Zugriff auf Ihre Datenbankdateien.
Abschließend werden dann noch diverse Dateien vom Server direkt auf den Sicherungs-PC kopiert.

Wenn Sie nun die Verzeichnisse im Sicherungs-PC so einrichten, dass dieser Rechner bei gestartetem FOS auf diese kopierten Daten zugreifen kann, dann haben Sie innerhalb von zwei Minuten einen Ersatzserver in Ihrem Praxisnetzwerk am laufen, falls Ihr Hauptserver einmal Probleme machen sollte.
Näheres hier: http://www.vondoczudoc.de/viewtopic.php?f=75&t=5061
und hier: http://www.vondoczudoc.de/viewtopic.php?f=11&t=5772

Viele Grüße!

A. Geigenberger

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

REM
REM Batch-File zur Sicherung von Daten Desktopobjekte
REM "TurboMed"-Arztprogramms
REM
REM programmiert von Dr. med. Alfons Geigenberger
REM
REM Die Nutzung des Programms ist für jedermann frei
REM Das Programm darf gerne beliebig weiter gegeben werden.
REM Für möglicherweise enthaltene Programmfehler und daraus
REM sich ergebende Datenverluste erfolgt keinerlei
REM Haftung des Programmierers!!
REM Vor den ersten Testläufen wird eine sorgfältige Datensicherung
REM dringend empfohlen!
REM
REM Lassen Sie diese Batch "automatisiert" starten ("Aufgabenplaner"),
REM dann brauchen Sie sich um Datensicherungen nicht mehr zu kümmern!
REM Trotzdem empfiehlt sich natürlich eine gelegentliche Kontrolle,
REM ob alle Sicherungen in Ordnung sind.
REM
REM Viel Spaß!
REM Alfons Geigenberger
REM
REM <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

@echo off
@cls

REM ################################################
REM HINWEIS:
REM bitte hier die Pfade des Servers und des Sicherungs-PC's eingeben:

REM Pfade zum Server:
set Servername=BigBoss
set tumed=\\BigBoss\TurboMed\
set tumedprg=\\BigBoss\TurboMed\Programm\
set tumedintermitt=\\BigBoss\sich_intermitt\
set Scandaten=\\BigBoss\tmdaten\Dokumente\Sonstiges\

REM Pfade im SicherungsPC: (Arbeitsplatz)
set sichordner=C:\tm_dat\
set sichdb=C:\tm_dat\db_sicherung\
set sichwoch=C:\tm_dat_wo_x\
REM Hinweis: Achten Sie darauf, dass sich hinter ihrem Pfad kein Leerzeichen verbirgt!!!
REM ################################################


REM ################################################
REM Folgende Zeilen bitte nicht verändern !!!

set /a aktmonat=%date:~-4%%date:~-7,2%
set /a vormonat=%date:~-4%%date:~-7,2%-1
set /a Monat=%date:~-7,2%

if [%Monat%] == [1] goto Jahreswechsel
:back

REM "Welcher Wochentag ist heute?" // Bitte nichts verändern!

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=Samstag"
If %dow% equ 7 set "WoTa=Sonntag"
REM ################################################


echo.
echo.
echo ########## Sicherung wichtiger Praxis-Daten #######
echo.
echo ########## Heute ist: %WoTa% ,der %date% # %time% Uhr
echo.
echo Server:
echo -- Servername: %Servername%
echo.
echo -- Pfad zum TurboMed-Ordner auf dem Server : %tumed%
echo -- Pfad zum Ordner: \TurboMed\Programm\ : %tumedprg%
echo -- Pfad zum Ordner: \TurboMed\Sich_intermitt\ : %tumedintermitt%
echo -- Pfad zu den Scandaten : %scandaten%

echo Arbeitsplatz: >> %sichordner%log_file_lev.txt
echo -- Pfad zum Sicherungsordner : %sichordner%
echo -- Pfad zum Sicherungsordner Datenbank : %sichdb%
echo -- Ordner der wochenweisen Sicherung : %sichwoch%

echo.

echo Server: >> %sichordner%log_file_lev.txt
echo -- Servername: STING-PC >> %sichordner%log_file_lev.txt
echo -- Pfad zum TurboMed-Ordner auf dem Server : %tumed% >> %sichordner%log_file_lev.txt
echo -- Pfad zum Ordner: \TurboMed\Programm\ : %tumedprg% >> %sichordner%log_file_lev.txt
echo -- Pfad zum Ordner: \TurboMed\Sich_intermitt\ : %tumedintermitt% >> %sichordner%log_file_lev.txt
echo -- Pfad zu den Scandaten : %scandaten% >> %sichordner%log_file_lev.txt
echo Arbeitsplatz: >> %sichordner%log_file_lev.txt
echo -- Pfad zum Sicherungsordner : %sichordner% >> %sichordner%log_file_lev.txt
echo -- Pfad zum Sicherungsordner Datenbank : %sichdb% >> %sichordner%log_file_lev.txt
echo -- Ordner der wochenweisen Sicherung : %sichwoch% >> %sichordner%log_file_lev.txt

echo.

echo ########## Sicherung der Datenbankfiles innerhalb des Servers #######
echo.

REM ping -n 1 x 127.0.0.1 > NUL
REM ping -n 1 x 127.0.0.1 > NUL

REM HINWEIS:
REM Die Sicherung der Datenbank-Files geschieht zunächst innerhalb des Servers selbst.
REM So sind Kopiervorgänge am schnellsten. (Besonders bei SSD-Platten!!)
REM Dadurch wird das Serverprogramm "FastObjectsServer" möglichst kurz im Sicherungsmodus gehalten

echo.

echo -----------------------------------------------------------------
echo Erstellt am: %date% um: %time% > %sichordner%log_file_rob.txt
echo Erstellt am: %date% um: %time% > %sichordner%log_file_lev.txt
echo ---- >> %sichordner%log_file_lev.txt
echo.

%tumedprg%TMAdmin /beginBackup /server=%Servername%
Echo.

set string=%tumed%Dictionary %tumedintermitt%Dictionary
set Art=A1
Call :RoCop

set string=%tumed%StammDB %tumedintermitt%StammDB
set Art=A2
Call :RoCop

set string=%tumed%DruckDB %tumedintermitt%DruckDB
set Art=A3
Call :RoCop

set string=%tumed%PraxisDB %tumedintermitt%PraxisDB
REM set string=%tumed%DruckDB %tumedintermitt%PraxisDB
set Art=A4
Call :RoCop


%tumedprg%TMAdmin /endbackup /server=%Servername%
REM Der Server arbeitet nun wieder im "Normalmodus

echo.
echo ########## Sicherung der Datenbank-Files zum Arbeitsplatz #######
echo ########## gesichert in das Verzeichnis: %sichdb%
echo.
ping -n 1 x 127.0.0.1 > NUL

set string=%tumedintermitt%Dictionary %sichdb%Dictionary
set Art=B1
Call :RoCop

set string=%tumedintermitt%StammDB %sichdb%StammDB
set Art=B2
Call :RoCop

set string=%tumedintermitt%DruckDB %sichdb%DruckDB
set Art=B3
Call :RoCop

set string=%tumedintermitt%PraxisDB %sichdb%PraxisDB
set Art=B4
Call :RoCop

REM ////////////////////////////////////////////////////////////////////////

echo.
echo ########## Umkopieren der Wochentagsicherungen #######
echo.
ping -n 1 x 127.0.0.1 > NUL


REM HINWEIS:
REM Es werden nun die Datenbank-Dateien mehrmals gespeichert, so dass Sie auch noch Zugriff auf ältere
REM Dateien haben.
REM Diese zusätzliche Sicherheit ist nur für die
REM Serverfiles "Dictionary", "StammDB", "DruckDB" und "PraxisDB" implementiert:
REM

If exist %sichwoch%%WoTa%\O3\nul echo ## O3 entfernt #
If exist %sichwoch%%WoTa%\O3\nul echo ## O3 entfernt # >> %sichordner%log_file_lev.txt
If exist %sichwoch%%WoTa%\O3\nul Rmdir /Q /S %sichwoch%%WoTa%\O3\

If exist %sichwoch%%WoTa%\O2\nul echo ## Kopiere 02 -> O3 #
If exist %sichwoch%%WoTa%\O2\nul echo ## Kopiere 02 -> O3 # >> %sichordner%log_file_lev.txt
If exist %sichwoch%%WoTa%\O2\nul ren %sichwoch%%WoTa%\O2 O3

If exist %sichwoch%%WoTa%\O1\nul echo ## Kopiere 01 -> O2 #
If exist %sichwoch%%WoTa%\O1\nul echo ## Kopiere 01 -> O2 # >> %sichordner%log_file_lev.txt
If exist %sichwoch%%WoTa%\O1\nul ren %sichwoch%%WoTa%\O1 O2

If exist %sichwoch%%WoTa%\O1\nul RmDir %sichwoch%%WoTa%\O1\

echo.
echo # Datenbank in Woche:01 kopieren... ### %time%
echo.
set string=%sichdb% %sichwoch%%WoTa%\O1\
set Art=U1
Call :RoCop
echo # Datenbank in Woche:01 kopiert ### %time%
echo.

REM ############## HINWEIS: #####################
REM
REM Falls Ihr Speicherplatz auf dem Sicherungsmedium knapp ist, dann können Sie die obigen Zeilen
REM auch so abändern, dass weniger Unterordner generiert werden.

REM z.B.:

REM If exist %sichwoch%%WoTa%\O2\nul echo ## O2 entfernt #
REM If exist %sichwoch%%WoTa%\O2\nul echo ## O2 entfernt # >> %sichordner%log_file_lev.txt
REM If exist %sichwoch%%WoTa%\O2\nul Rmdir /Q /S %sichwoch%%WoTa%\O2

REM If exist %sichwoch%%WoTa%\O1\nul echo ## 01 -> O2 #
REM If exist %sichwoch%%WoTa%\O1\nul echo ## 01 -> O2 # >> %sichordner%log_file_lev.txt
REM If exist %sichwoch%%WoTa%\O1\nul ren %sichwoch%%WoTa%\O1 O2
REM ################################################


REM HINWEIS:
REM Die Daten werden vom intermittierenden Sicherungsfile auf dem Server nun auf den
REM Sicherungsrechner übertragen.

echo ########## Sicherung weiterer Dateien zum Arbeitsplatz #######

REM HINWEIS:
REM Dieser Abschnitt kann entsprechend der folgenden "Vorlagen" BELIEBIG erweitert werden.

echo.
ping -n 1 x 127.0.0.1 > NUL

echo.

set string=%tumed%IV_Verwaltung %sichordner%IV_Verwaltung
set Art=C1
Call :RoCop

set string=%tumed%Symbole %sichordner%Symbole
set Art=C2
Call :RoCop

set string=%tumed%Vorlagen %sichordner%Vorlagen
set Art=C3
Call :RoCop

set string=%tumed%Desktopobjekte %sichordner%Desktopobjekte
set Art=C4
Call :RoCop

echo.
echo # aktueller Monat: %aktmonat%
echo # Vormonat : %vormonat%
ping -n 1 x 127.0.0.1 > NUL
echo.

REM HINWEIS:
REM Der Ordner z.B.: /Dokumente/Sonstiges enthält die gescannten Dateien. Dies ist evtl an Ihre
REM Situation anzupassen, je nachdem in welchem Ordner TurboMed bei Ihnen die gescannten Daten speichert.
REM Kopieren Sie bitte initial alle Ihre gescannten Dokumente in diesen Ordner (z.B. /Dokumente/Sonstiges )
REM Dann wird dieser Sicherungs-Ordner kontinuierlich mit Ihren neuen gescannten Daten aktualisiert.


set string=%scandaten%%vormonat%\ %sichordner%Dokumente\Sonstiges\%vormonat%
set Art=D1
Call :RoCop

set string=%scandaten%%aktmonat%\ %sichordner%Dokumente\Sonstiges\%aktmonat%
set Art=C4
Call :RoCop

Echo.
Echo -------------------------- >> %sichordner%log_file_rob.txt
echo Datei Ende: %date% um: %time% >> %sichordner%log_file_rob.txt
echo Datei Ende: %date% um: %time% >> %sichordner%log_file_lev.txt
Echo -------------------------- >> %sichordner%log_file_rob.txt
Echo (Bei "Errorlevel 0 oder 1 ist alles in Ordnung!) >> %sichordner%log_file_rob.txt
Echo -------------------------- >> %sichordner%log_file_rob.txt

REM Log-Files werden noch zum entsprechenden Wochen-Tag des Sicherungsordners kopiert

copy %sichordner%log_file_lev.txt %sichwoch%%WoTa%\O1\
copy %sichordner%log_file_rob.txt %sichwoch%%WoTa%\O1\

%sichordner%log_file_lev.txt

goto Ende

REM ################################################

:Jahreswechsel
set /a Jahr=%date:~-4%-1
set Monat=12
set vormonat=%Jahr%%Monat%
goto :back

REM ################################################

:RoCop
Echo.
Echo ---- %time% ----
echo # %Art% # %string%
echo # %Art% # %string% ### %time% >> %sichordner%log_file_lev.txt
robocopy %string% /MIR /NP /LOG+:%sichordner%log_file_rob.txt
echo ---- %Art% ## Errorlevel: %ERRORLEVEL% ##
echo # %Art% # %time% # Errorlevel: %ERRORLEVEL% ## >> %sichordner%log_file_lev.txt
echo ------------------------------------ >> %sichordner%log_file_lev.txt
echo.
goto :eof

REM ################################################
REM ################################################

:Ende
echo.
echo ####### ENDE ##########



REM ################################################
REM ################################################

REM Tip für "Spezialisten"
REM
REM Wenn Sie dieses Programm nur einmal pro Tag laufen lassen, dann haben Sie
REM Sicherungsdateien für jeden Tag der Woche und dies für letzten 3 Wochen!
REM Lassen Sie aber das Programm z.B. zweimal pro Tag laufen, oder wenn sie es
REM mehrmals pro Tag "manuell" starten, dann sind die Server-Files evtl. "nur"
REM noch eine Woche lang auf Ihrem PC vorgehalten.
REM Es steht Ihnen aber natürlich frei, dass Sie diese Batch-Datei mehrmals
REM auf Ihrem PC unter verschiedenen Namen kopieren. Dann können Sie dieses
REM Batch-File zu verschiedenen Zeiten des Tages unter verschiedenen Namen aufrufen.
REM Wenn Sie für die verschiedenen Aufrufe auch verschiedene Namen des Sicherungs-
REM ordners vergeben, dann können Sie Ihre Daten lückenlos 3 (und mehr!) Wochen
REM lang vorhalten.
REM z.B.:
REM set sichwoch=Arbeitsplatz\\tm_dat_wo_mittags\
REM set sichwoch=Arbeitsplatz\\tm_dat_wo_abends\
REM
REM Bedenken Sie aber auch den Platzbedarf für diese große Zahl an Sicherungsdateien!!
Sapias, vina liques et spatio brevi spem longam reseces... carpe diem, quam minimum credula postero [Horaz]
"Sei klug, gönn dir noch ein Glas Wein ein und hoffe auf nichts weiter. ... Genieße den Tag, und vertraue möglichst wenig auf den folgenden!"
lennu42
Beiträge: 13
Registriert: Montag 3. November 2014, 22:03
9

Re: Datensicherung - Konfigurationsbeispiel

Beitrag von lennu42 »

Hallo Herr Geigenberger,

eine kleine Anmerkung zu Ihrem Skript: Ich würde in der Robocopy-Sektion noch die Parameter /R:x und /W:x einfügen - ansonsten kann es im unglücklichsten Fall dazu führen, dass bei Zugriffsproblemen (egal, ob Source oder Destination) der Kopier- bzw. Mirror-Versuch 1 Millionen mal mit jeweils 30 Sekunden Pause wiederholt wird (das sind die - in meinen Augen etwas zu großzügig definierten - Standard-Werte von Robocopy).

Beispiel:

Code: Alles auswählen

robocopy %string% /MIR /R:3 /W:5 /NP /LOG+:%sichordner%log_file_rob.txt
Jetzt wird die Kopieraktion maximal 3 Mal versucht mit 5 Sekunden Wartezeit.

Gruß,
Lennu42
Benutzeravatar
EXEWERKER
Beiträge: 807
Registriert: Freitag 12. Februar 2010, 12:43
14
Wohnort: Leipzig
Hat sich bedankt: 1 time
Bedankt: 3 times

Re: Datensicherung - Konfigurationsbeispiel

Beitrag von EXEWERKER »

lennu42 hat geschrieben: Jetzt wird die Kopieraktion maximal 3 Mal versucht mit 5 Sekunden Wartezeit.
Das ist auf jeden Fall sinnvoll.
Ich habe mit dem Parameter /MIR Bauchschmerzen, denn da werden Löschungen gleich im Ziel nachvollzogen, was für eIne Sicherung oft kontraproduktiv ist. Wenn man in Generationen anlegt, wie hier mag es u.U. gehen. Wehe man aber merkt nicht, dass eine wichtige Datei gelöscht wurde, bevor man sichert, dann ist sie weg. Lieber lebe ich mit ein paar "gelöschten" Dateien in der Sicherung, die ich auch nach Jahren noch finden kann.

Es gäbe da sicher noch einige Parameter, die man ggf. ergänzen sollte: um auf (meist Linux) NAS (/FFT)zu schreiben, Dateirechte und Dateiinformation (/SEC) zu kopieren, die "Last" zu senken (/IPG:n), /S oder /E für Unterordner könnte auch nicht schaden, wenn man auf /MIR verzichtet.
EX EWERKER :-)
nmndoc
Beiträge: 1797
Registriert: Donnerstag 17. März 2011, 12:56
13
Bedankt: 24 times

Re: Datensicherung - Konfigurationsbeispiel

Beitrag von nmndoc »

Hallo Herr Geigenberger,

es gab/gibt ein kleines Tool "delage32", das sich gut eignet um Datein die älter als X Tage/Wochen/... oder glaube auch als ein bestimmtes Datum sind, zu löschen (auch rekursiv). Kann man prima in Batch-Dateien verwenden um z.B. alte Sicherungen aufzuräumen.
lapins
PowerUser
Beiträge: 494
Registriert: Donnerstag 7. April 2005, 12:44
18
Wohnort: Heckental
Hat sich bedankt: 1 time
Bedankt: 1 time

Re: Datensicherung - Konfigurationsbeispiel

Beitrag von lapins »

naja , gleich löschen.... aber versuchen sie mal forfiles /? auf der cmd-line!
lapins
PowerUser
Beiträge: 494
Registriert: Donnerstag 7. April 2005, 12:44
18
Wohnort: Heckental
Hat sich bedankt: 1 time
Bedankt: 1 time

Re: Datensicherung - Konfigurationsbeispiel

Beitrag von lapins »

Also Tag der Woche mag ich gar nicht. Ich hab mir folgende Tools nach und nach gebastelt

Ziel: Generationen automatisch erstellen
zuerst mehrere Sicherungen / Tag... ein paar Tage lang
dann komprimieren /löschen .... nur 1Datei je tag als zB eine db Sicherung / Tag
dann reduzieren auf 1 Datei je Monat.

Hier die bat's


a) $datim %1

rem Subroutine $datim %1
rem input %1 = filename
rem output: variable datim=jjjjmmtt-hhmm (aenzeit)

möchte db.7z den timestamp vorne hinsetzen
zB

Code: Alles auswählen

call $datim d:\za\tmdb\db.7z
move /Y d:\za\tmdb\db.7z %c2%:\za\tmdb\%datim%db.7z       zB               ...\tmdb\20160213-1845db.7z
b) 1DateiJeTag.bat d:\za\tmdb\db.7z 7
c) 1DateiJeMonat d:\za\tmdb\db.7z 30


wenn man a) und b) und c) kombiniert kann man folgendes machen


Erstelle diverse sicherungen in arj oder zip oder 7z format benamst jjjjmmtt-hhmmName.ext

1)also zb alle 90 Minuten eine datenbanksicherung db.7z und zb Scans usw mit arj32 (alles was jünger ist als ein paar Stunden)

das gibt natürlich eine großen Anzahl von Dateien und den entsprechenden Platzbedarf, wenn man das ein paar Wochen laufen läßt.

deshalb täglich oder bei jeder Sicherung zusätzlich die Reduktion mit

2)

Code: Alles auswählen

  call 1dateijetag    d:\za\tmdb\db.7z     7      
(alles was älter als [7] Tage)

werden alle d:\za\tmdb\*db.7z umbenamst auf zb 160205db.7z und zwar mit move, dann bleibt nur EINE Datei je Tag übrig!!

danach werden mit

Code: Alles auswählen

call   1dateijemonat   d:\za\tmdb\db.7z  30   
alle Dateien d:\za\tmdb\*db.7z älter als 30 Tage auf dieselbe Methode umgemoved , das nur 1-Datei-Je-Monat übrigbleibt.

Es wird dabei das Dateidatum verwendet und NICHT das (möglicherweise) Datum im Namen.



Wen jemand Interesse hat dan poste ich diese bats mal.

Mein Hauptproblem war es eine Zeit lang die Dateien "die älter sind als xxx Tage" einzuengen ohne mit robocopy diese in der Welt herumzumoven und zu kopieren.
Denn bei grossen 7z dateien kann das dauern und drückt die Performance am Server, oder noch blöder im gemappten Laufwerk anderswo.

Das habe ich dann mit "forfiles" gelöst.

Mfg

rLap
Antworten

Wer ist online?

Mitglieder in diesem Forum: Ahrefs [Bot] und 45 Gäste