Datensicherung mit RobocopyMonitor

Auf der OPHTHALMOSTAR-Freeware-Seite findet sich mein Programm RobocopyMonitor. RobocopyMonitor ist ein Hilfsprogramm für den un­kom­pli­zier­ten Einsatz von Robocopy im Monitor-Modus.

Robocopy selbst ist ein Kommando­zeilen-Kopier­programm für Windows von Microsoft. Mit seinen unzähligen Filter­mög­lich­keiten, Optionen und kryp­tischen Para­meter­listen ist es nicht gerade einfach zu bedienen.

RobocopyMonitor beschränkt sich auf die Nutzung der herausragendsten Fähigkeit: Im Monitor-Modus läuft Robocopy dauerhaft und überwacht im Minutenabstand den Inhalt des Quellordners, um die Kopie automatisch auf den aktuellen Stand zu bringen. Wenn die Dateien gerade von anderen An­wen­dungen geöffnet sind, werden sie übersprungen.

Robocopy arbeitet stets inkrementell: Es vergleicht zunächst den Inhalt des Quellordners mit dem Ziel, um dann nur solche Dateien zu übertragen, die noch nicht im Zielordner vorhanden oder neuer sind. Das Programm ver­lässt sich dabei nicht auf Archiv­bits: Um zu ent­schei­den, ob eine Datei im Ziel­ordner bereits identisch mit der Quell­datei ist, betrachtet Robocopy den Zeitpunkt der letzten Änderung sowie die Größe der Datei.

Leider gibt Robocopy nur wenige Fehlermeldungen aus und schreibt diese lediglich in eine Logdatei. Hier springt RobocopyMonitor zur Seite, indem es regelmäßig über­prüft, ob Quell- und Zielordner vorhanden sind, ob der Ziel­ordner genügend Speicherplatz aufweist, ob die Logdatei nicht zu groß geworden ist und ob Robocopy überhaupt noch als Prozess läuft. Die Logdatei können Sie übrigens leicht durch einen Doppel­klick auf das Tray-Icon öffnen.

Bitte beachten Sie, dass die permanente Spiegelung allein als Backup nicht ausreicht: Wenn die Originaldaten be­schädigt, un­beab­sichtigt geändert oder gelöscht werden, wird Robocopy auch die Sicherheits­kopie vernichten.

Die aktuelle Robocopy-Version für WinXP und Win2K ist Bestandteil der frei zugänglichen Windows Server 2003 Resource Kit Tools. Unter Vista ist Robocopy zum standardmäßig vorhandenen System-Tool aufgestiegen und befindet sich im Ordner Windows\\System32. Die Vista-Version ist nicht abwärtskompatibel.

Backup-Strategie

Eine komplette Backup-Strategie verlangt den Einsatz verschiedener Werkzeuge und individueller Anpassungen. Wer graphische Oberflächen bevorzugt wird Gefallen an dem Microsoft-Tool «SyncToy» finden. Mit diesem Programm lassen sich Backupaufgaben zusammenklicken. Das Programm kennt Kommandozeilenparameter, so dass unter Zuhilfenahme des Taskplaners der Programmstart automatisiert erfolgen kann.

Nicht unerwähnt bleiben soll, dass in Arztpraxen aus verschiedenen Gründen eine Quartals­sicherung auf nicht wieder be­schreib­baren Speicher­medien (CD oder DVD) dringend zu empfehlen ist.

Links

Windows Server 2003 Resource Kit Tools (Microsoft-Webseite)

Violka, K.: Magazin für Computertechnologie (c\’t), Heft 25/2006. Replikator: Daten spiegeln mit Robocopy

SyncToy 2.1 (Microsoft-Webseite)

RobocopyMonitor im heise Software-Verzeichnis

Robocopy-Schalter

RobocopyMonitor ist das am häufigsten von der OPHTHALMOSTAR-Webseite herutergeladene Freeware-Programm. Für alle Robocopy-Freunde ist sicherlich diese Zusammenstellung der wichtigsten Schalter nützlich.

Schalter Funktion
/A nur Dateien kopieren, bei denen das Archiv-Bit gesetzt ist
/COPY:<FLAGS> nur ausgewählte Datei-Informationen kopieren (Standard: /COPY:DAT)

D: Datei-Inhalt | S: NTFS-ACL (Zugriffschutz)
A: Attribute | O: Besitzer
T: Zeitstempel | U: Überwachungs-ACL
/COPYALL alle Datei-Informationen kopieren (entspricht /COPY:DATSOU)
/E Unterverzeichnisse kopieren (auch leere)
/IPG:<Millisekunden> Kopiervorgang ausbremsen, um Bandbreite im Netzwerk zu sparen (Pause nach jeweils 64 KB)
/LEV:<Zahl> nur die ersten Verzeichnisebenen des Quellordners kopieren
/LOG:<Datei> Ausgabe in Log-Datei umlenken, Datei jedesmal überschreiben
/LOG+:<Datei> Ausgabe anlog-Datei anhängen
/M nur Dateien kopieren, bei denen das Archiv-Attribut gesetzt ist, und es danach zurücksetzen
/MAX:<n> Dateien weglassen, die größer als n Bytes sind
/MIN:<n> Dateien weglassen, die kleiner als n Bytes sind
/MIR Verzeichnisbaum spiegeln (entspricht /E und /PURGE )
/MON:<Zahl> Quellverzeichnis überwachen, nach der eingestellten Anzahl Änderungen erneut abgleichen
/MOT:<Minuten> Quellverzeichnis überwachen, nach dem eingestellten Zeitintervall erneut abgleichen
/MOVE kopierte Dateien und Verzeichnisse aus dem Quellordner löschen
/NP Fortschrittsinformationen abschalten (für Log-Datei, ist sonst kaum lesbar)
/PURGE Dateien und Verzeichnisse im Ziel löschen, die in der Quelle nicht existieren
/R:<n> erneute Kopierversuche nach einem Fehler (Standard: 1000000); die GUI trifft die Voreinstellung /R:10
/RH:<SSMM>-<SSMM> Zeitfenster für den Monitor-Modus festlegen, Uhrzeiten im Format 0000 bis 2359
/S Unterverzeichnisse kopieren (keine leeren)
/SEC NTFS-ACL mit Zugriffsschutz-Informationenkopieren (entspricht /COPY:DATS)
/TEE Ausgabe gleichzeitig in Konsole und Log-Datei schreiben
/V ausführliche Ausgabe (mit übersprungenen Dateien)
/W:<Sekunden> Wartezeit nach einem Fehler; die GUI trifft die Voreinstellung /W:30
/XD:<Muster> Verzeichnisse weglassen, deren Pfad dem Suchmuster entspricht
/XF:<Muster> Dateien weglassen, deren Pfad dem Suchmuster entspricht
/XJ Junctions überspringen
/Z unvollständig kopierte Dateien fortsetzen (beim kopieren über Netzwerkverbindungen nützlich)

mod. nach: Violka, K.: Magazin für Computertechnologie (c’t), Heft 25/2006. Replikator: Daten spiegeln mit Robocopy

MEDISTAR auf USB-Stick sichern

Die wichtigsten MEDISTAR-Dateien lassen sich schnell und einfach auf einem USB-Stick speichern. Die nachfolgend beschriebene Batchdatei erledigt diese Arbeit. Sie zeichnet sich durch folgende Besonderheiten aus.

  • Bevor der Kopiervorgang startet, erfolgt eine Prüfung, ob alle MEDISTAR-Tasks geschlossen sind. Um diese Information zu erhalten, versucht das Programm eine Datenbankdatei zu kopieren. Wenn ein Task geöffnet ist, wird das nicht gelingen.
  • Unnötige Dateien werden vom Kopieren ausgeschlossen. Hierbei erweist sich das Microsoft-Tool «robocopy» als wesentlich flexibler gegenüber «xcopy». Mit Hilfe eines Robocopy-Job-Files (EXCLUDE.RCJ) lassen sich Dateitypen und Ordner ausschließen . Weitere Informationen zu robocopy finden Sie im Robocopy-Artikel.
  • Die Datensicherung ist insofern komplett, als sich mit ihr eine externe MEDISTAR-Installation auf den Praixsstand bringen läßt. Das heißt, Sie können die Dateien z.B. zuhause einlesen und haben alle Daten wie in der Praxis zur Verfügung. Damit haben Sie dann auch die Integrität der Datensicherung überprüft.
Beispiel-Quellcode für ROBOCOPY2STICK.CMD
@echo off title Sicherung auf USB-Stick (Laufwerk G)
if exist Z:nul goto kopieren
echo Netzlaufwerk Z: nicht gefunden! Das Programm wird abgebrochen.
pause
goto end
rem Die nachfolgende Zeile dient der Prüfung auf offene Tasks
copy /y Z:MedistarPDATENPALPHA.ISM Z:MedistarPDATENPALPHA.BAK
if not errorlevel 1 goto stickcheck
echo.
echo ******************************************************************************
echo * *
echo * Bitte beenden Sie alle MEDISTAR-Tasks! Die Datensicherung wird abgebrochen. *
echo * *
echo ******************************************************************************
echo.
pause
goto end
:stickcheck
if exist G:nul goto robocopy
echo.
echo ******************************************************************************
echo * *
echo * USB-Stick (Laufwerk G) nicht gefunden! Die Datensicherung wird abgebrochen. *
echo * *
echo ******************************************************************************
echo.
pause
goto end
:robocopy
md G:Athlon
md G:Medistar
md G:Server
robocopy "Z:MedistarINST" "G:MedistarINST" /MAXAGE:30 /MIR /NS /NP /R:1 /W:1 /JOB:EXCLUDE
robocopy "Z:MedistarFORM" "G:MedistarFORM" /MAXAGE:30 /MIR /NS /NP /R:1 /W:1 /JOB:EXCLUDE
robocopy "Z:MedistarHDATEN" "G:MedistarHDATEN" /MAXAGE:30 /MIR /NS /NP /R:1 /W:1 /JOB:EXCLUDE
robocopy "Z:MedistarPARA" "G:MedistarPARA" /MAXAGE:30 /MIR /NS /NP /R:1 /W:1 /JOB:EXCLUDE
robocopy "Z:MedistarPDATEN" "G:MedistarPDATEN" /MAXAGE:30 /MIR /NS /NP /R:1 /W:1 /JOB:EXCLUDE
robocopy "Z:MedistarPRAXIS" "G:MedistarPRAXIS" /MAXAGE:30 /MIR /NS /NP /R:1 /W:1 /JOB:EXCLUDE
robocopy "Z:MedistarSTAT" "G:MedistarSTAT" /MAXAGE:30 /MIR /NS /NP /R:1 /W:1 /JOB:EXCLUDE<span>
robocopy "D:DateienDokumente" "G:AthlonDokumente" /MAXAGE:30 /MIR /NS /NP /R:1 /W:1 /JOB:EXCLUDE
robocopy "D:DateienOrganisation" "G:AthlonOrganisation" /MAXAGE:30 /MIR /NS /NP /R:1 /W:1 /JOB:EXCLUDE
robocopy "D:DateienPersonal" "G:AthlonPersonal" /MAXAGE:30 /MIR /NS /NP /R:1 /W:1 /JOB:EXCLUDE
robocopy "D:DateienWindows" "G:AthlonWindows" /MAXAGE:30 /MIR /NS /NP /R:1 /W:1 /JOB:EXCLUDE
robocopy "D:EndNote" "G:AthlonEndNote" /MAXAGE:30 /MIR /NS /NP /R:1 /W:1 /JOB:EXCLUDE
robocopy "Z:Server" "G:Server" /MAXAGE:30 /MIR /NS /NP /R:1 /W:1 /JOB:EXCLUDE
:end
REM /MAXAGE:n Excludes files with a Last Modified Date older than n days.
REM /MIR Mirrors a directory tree (equivalent to running both /E and /PURGE).
REM /NS Suppresses output of file and directory sizes.
REM /NP Turns off copy progress indicator (% copied).
REM /R:n Specifies the number of retries on failed copies. (The default is 1 million.)

Die nachfolgende EXCLUDE-Datei muss sich im gleichen Ordner wie die Batchdatei befinden.

Beispiel-Quellcode für EXCLUDE.RCJ
/XD
:: Excludes directories with the specified names, paths, or wildcard characters.
bilder
Cache
Chrome
demo
docportal
dokumente
extensions
ibonus
informer
O&amp;O
pdf
rguide
ventario
verax
vita-X

/XF
:: Excludes files with the specified names, paths, or wildcard characters
*.avi
*.wmv
*.zip

:: Der XD-Schalter funktioniert nicht mit Teilpfaden, z.B. PARAverax.
:: Entweder gibt man den kompletten Pfad an, z.B. Z:MEDISTARPARAverax
:: oder man gibt nur einen Teil des Pfades ohne Backslash an.