Backupskript für CD-R

Vor einiger Zeit haben wir nach einer Lösung für ein Datensicherungskonzept mit CD-Recordables bzw. CD-ReWritables gesucht, da die Sicherung auf Bänder diverse Nachteile hat. So ist für die Datensicherung immer ein Streamer- oder DAT-Laufwerk notwendig, das für kaum einen anderen Zweck benutzt werden kann, wenn man mal von der Archivierung großer Datenbestände absieht. Außerdem muss immer ein Bandlaufwerk für die Wiederherstellung von Dateien zur Verfügung stehen. Dies schließt die Wiederherstellung von Daten auf anderen Rechnern, wie z.B. einzelnen Workstations oder Laptops aus.
Im Gegensatz dazu sind CD-Rs bzw. CD-RWs mittlerweile in fast jedem CD-ROM-Laufwerk lesbar und bieten einen wesentlich schnelleren Zugriff als ein Bandlaufwerk. Darüber hinaus kann ein CD-Brenner auch noch andere Funktionen als eine reine Datensicherung erfüllen. Die Vorteile eines CD-Brenners gelten, mit geringen Einschränkungen, im Übrigen genauso für Zip-Laufwerke.
Es gibt jedoch auch einen gravierenden Nachteil eines CD-Brenners gegenüber einem Bandlaufwerk: CDs haben eine wesentlich geringere Kapazität als Bänder. Daher ist für den Einsatz von CDs als Sicherungsmedium ein anderes Datensicherungskonzept als für Bandlaufwerke notwendig.

Vorbemerkungen

Generell unterscheiden sich die Anforderungen an eine Datensicherung auf CDs nicht von denen einer Sicherung mit Bandlaufwerken, wie sie in den Vorbemerkungen unter „Backup mit NT“ geschildert wurden. So sollten Sicherungen über einen ausreichenden Zeitraum aufbewahrt und nicht wieder überschrieben werden, um eine Wiederherstellung von älteren Datei-Versionen zu ermöglichen. Datensicherungen sollten teilweise außer Haus aufbewahrt und gelegentlich durch eine stichprobenartige Wiederherstellung auf ihre ordnungsgemäße Funktion überprüft werden.
Jedoch lässt die Kapazität einer CD meist nicht die Speicherung einer kompletten Datensicherung zu. Daher bietet sich, im Gegensatz zur Vollsicherung mit Bandlaufwerken, eine inkrementelle Sicherung an, die nur die jeweils geänderten Dateien sichert. Diese inkrementelle Sicherung resultiert in einer kompletten Vollsicherung zu Anfang eines Backup-Zykluses und mehreren, kleinen inkrementellen Sicherungen, die nur die geänderten Dateien enthalten.
Die inkrementellen Sicherungen sind typischerweise wesentlich kleiner als das Fassungsvermögen einer CD und sollten daher auf einem anderen Medium zwischengespeichert werden. Für diesen Zweck bietet sich eine zusätzliche Festplatte an. Dies bietet den zusätzlichen Vorteil, dass der Brenner bei der Datensicherung nicht verfügbar sein muss und daher auch nicht zwangsweise im Server eingebaut werden muss.
Inkrementelle Sicherungen und das Aufteilen einer Datensicherung über verschiedene Medien lassen sich mit den Bordmitteln von Windows nur schwer realisieren. Daher haben wir das Windows Scripting Host-Skript WSHBackup entwickelt, das Ihnen diese Arbeit abnehmen soll und auch eine unbeaufsichtigte Datensicherung via Batch-Datei nachts erlaubt.

Voraussetzungen

Voraussetzung für das hier vorgestellte Sicherungskonzept ist entweder ein virtuoser Umgang mit Batch-Dateien und Archiv-Bits oder unser Windows Scripting Host-Skript WSHBackup. Das Skript benötigt den Windows Scripting Host, der mit dem Internet Explorer 4.0 und 5.0 installiert wird, oder als Windows Script direkt von der Microsoft Homepage heruntergeladen werden kann.
Das Skript verwendet Winzip oder WinRAR, um die Sicherungen möglichst stark zu komprimieren. Daher sollten sie einen dieser Packer einsetzen, wobei WinRAR die besseren Kompressionsraten bietet, jedoch nicht so weit verbreitet ist.
Weiter muss das Skript über diverse Einstellungen innerhalb des Skriptes konfiguriert werden. Mehr zu den Einstellungsmöglichkeiten finden Sie im Abschnitt „WSHBackup Skript“.

Datensicherungskonzept

Mit den oben genannten Restriktionen bietet sich folgendes Datensicherungskonzept für den Einsatz von CD-Brennern oder auch Zip-Laufwerken an:

  • Es empfiehlt sich, alle Sicherungen in einem speziellen Backup-Verzeichnis vorzunehmen. Dieses Verzeichnis sollte auf einer anderen physikalischen Platte wie Ihre Daten liegen, um bei einem Festplatten-Crash nicht auch noch die Sicherungen zu verlieren. Das WSHBackup-Skript kann so konfiguriert werden, dass es in diesem Backup-Verzeichnis alle Sicherungen ablegt.
  • Das Skript kann die Sicherungen auf die Unterverzeichnisse „Disk1“ bis „DiskN“ verteilen, deren Größe im Skript eingestellt werden kann und der Kapazität einer CD entsprechen sollte. Bei der Verteilung der Sicherungen wird das Verzeichnis mit der höchsten laufenden Nummer „N“ zuerst aufgefüllt. Sollte dieses Verzeichnis voll sein, so wird ein neues Unterverzeichnis „DiskN+1“ erstellt.
    Daher sollten Sie spätestens wenn ein Verzeichnis gefüllt und nach dem Überlauf ins nächste Unterverzeichnis die Sicherungen auf CD-R brennen. Mit dieser Methode erreichen Sie eine optimale Ausnutzung der CD-R Kapazität. Danach können Sie das auf CD-R gebrannte Unterverzeichnis mit der Zwischenspeicherung löschen, um Platz für die nächsten Sicherungen zu bekommen. Dadurch ergibt sich ein Platzbedarf für das Backup-Verzeichnis mit allen Unterverzeichnissen von mind. 750MB, um Platz für eine vollständige CD (650MB) und den Überlauf ins nächste Unterverzeichnis bereitzustellen.
  • Bei der Benutzung von CD-RW bietet sich die Möglichkeit, ein Unterverzeichnis schon vor Erreichen der maximalen Kapazität zu sichern und ggf. mehrmals zu brennen. Durch das z.B. wöchentliche Brennen der Zwischenspeicherung erreichen Sie eine wesentlich höhere Datensicherheit. Bedenken Sie dabei, dass die Zwischenspeicherung nur auf Festplatte zwar bei versehendlichem Löschen (je nach Benutzer der häufigste Fall beim Verlust von Daten !) oder Virenbefall weiterhilft – bei dem Verlust des gesamten Rechners sind allerdings auch Ihre gesamten Sicherungen mit zerstört !
  • Da eine inkrementelle Datensicherung benutzt werden soll, steht am Anfang eines inkrementellen Sicherungszyklus eine Vollsicherung, auf die die späteren inkrementellen Sicherungen aufbauen können. Dies kann über den Kommandozeilenparameter „/Full“ im WSHBackup-Skript ausgeführt werden. Bei der Vollsicherung kann, je nach Menge der zu sichernden Daten, ein erheblich höherer Platzbedarf im Backup-Verzeichnis entstehen. Um diesen Platzbedarf abzuschätzen, empfiehlt es sich, das WSHBackup-Skript mit dem Kommandozeilenparameter „/Size“ aufzurufen. Dieser berechnet die Anzahl und Größe der unkomprimierten zu sichernden Dateien.
  • Dann sollte jede Nacht eine inkrementelle Sicherung basierend auf der durchgeführten Vollsicherung vorgenommen werden. Diese sollte im gleichen Backup-Verzeichnis, wie die Vollsicherung gespeichert werden, um eine möglichst hohe Ausnutzung der CD-Kapazität beim Brennen zu erreichen.
  • Je nach Häufigkeit und Umfang der Änderungen der Datenbestände sollten Sie jetzt gelegentlich das Backup-Verzeichnis prüfen, ob das Unterverzeichnis bereits gefüllt ist, und diesen dann auf CD-R brennen. Falls Sie CD-RWs benutzen, bietet sich eine regelmäßige Kopie des aktuellen Unterverzeichnisses an, wie oben beschrieben.
  • Wiederum abhängig von der Menge der anfallenden Daten lohnt es sich, alle 1 bis 2 Monate einen neuen Sicherungszyklus mit einer Vollsicherung zu beginnen, denn beim Ausfall einer Datei mit inkrementeller Sicherung können Sie zwar den Rest des Sicherungssatzes wiederherstellen, bekommen jedoch durch fehlende oder alte Dateien möglicherweise inkonsistente Daten.
    Nach dem Abschluss eines Sicherungszykluses sollten Sie ebenfalls das WSHBackup-Skript und die aktuelle Log-Datei mit auf die letzte CD brennen, um eine automatische Wiederherstellung von Daten über das WSHBackup-Skript zu ermöglichen.
  • Die Vollsicherungs-CDs sollten Sie an einem sicheren Ort aufbewahren. Zum einen besitzen Sie keine weitere komplette Sicherung, die Sie außer Haus aufbewahren können, es sei denn, Sie fertigen Kopien aller CDs an und zum anderen sind bei der Benutzung von Winzip bzw. WinRAR die Sicherungen für Dritte relativ leicht lesbar!

Dieses Datensicherungskonzept bietet unserer Meinung nach einen guten Kompromiss zwischen den Restriktionen des Mediums CD-R bzw. CD-RW und der benötigten Datensicherheit. Eine höhere Datensicherheit erreicht man nur durch die Sicherung kleiner Datenbestände, die vollständig auf eine CD-RW passen.

WSHBackup-Skript

Das WSHBackup-Skript ist ein auf VBScript basierendes Skript, das alle für ein Backup notwendigen Dateioperationen ausführt. Dazu bedient sich das Skript Pack-Programmen, wie z.B. Winzip oder WinRAR, die via Kommandozeile mit den nötigen Informationen zum Aufbau einer Sicherungsdatei versorgt werden. Bei jedem Backup-Vorgang wird zum einen diese Sicherungsdatei in der Form eines Zip- oder Rar-Archives erstellt, und zum anderen der Backup-Vorgang in einer Log-Datei dokumentiert. Diese Log-Datei ist nicht nur für die Überprüfung des Backup-Vorgangs notwendig, sondern liefert ebenfalls alle Informationen, die zum Wiederherstellen der Dateien notwendig sind. Sie enthält nur Klartext und entspricht in ihrem Aufbau der von NTBackup.exe generierten Log-Datei.
Bei der Beschränkung eines Sicherungsverzeichnisses auf eine bestimmte Größe (ArchiveMaxSize = nnnn) versucht das Skript diese Verzeichnisgröße mit einem iterativen Verfahren möglichst präzise zu erreichen. Im ersten Schritt werden, basierend auf der Größe der unkomprimierten Dateien, so viele Dateien gepackt, bis die Dateigröße in ArchiveMaxSize erreicht ist. Der Packvorgang reduziert erfahrungsgemäß die Größe der Dateien, so dass nach dem ersten Schritt noch Platz im Sicherungsverzeichnis vorhanden ist. Im zweiten Schritt wird der verbleibende Platz dann wiederum auf der Basis der Größe der unkomprimierten Dateien aufgefüllt und wiederum gepackt. Dieser zweite Schritt wird solange wiederholt, bis das Sicherungsverzeichnis möglichst nahe an die maximale Größe herankommt. Erst dann wird ein neues Verzeichnis angelegt und alle weiteren Dateien in diesem neuen Verzeichnis gesichert. Die Schwierigkeit bei diesem Verfahren ist, dass bei grossem Datenaufkommen, z.B. einer Vollsicherung, und großen Werten für ArchiveMaxSize dieser Iterationsvorgang einige Zeit in Anspruch nehmen kann. Daher sollten Sie, wenn möglich, eine Vollsicherung ebenfalls über Nacht laufen lassen.
Das Skript kann über zwei Methoden mit Parametern versorgt werden: Backup-Operationen werden als Schalter über die Kommandozeile dem Skript übergeben, während alle generellen Einstellungen über Variable im Skript selber konfiguriert werden können. Alle Kommandozeilenparameter und Skript Einstellungen sind im Skript selber dokumentiert, so dass eine Anpassung an eine individuelle Installation einfach vorgenommen werden kann. Hier noch einmal eine ausführlichere Dokumentation:

Syntax:    Wscript wshbackup.vbs [/Full] [/Inc] [/Rest] [/Size]
(Parameter in eckigen Klammern kennzeichnen optionale Parameter)

Kommandozeilenparameter

ParameterBeschreibung
/FullFührt ein vollständiges Backup aller eingestellten Pfade durch. Das Backup ist so konzipiert, dass es unbeaufsichtigt über den Zeitplandienst von Windows NT gestartet werden kann. Daher werden keine Meldungen während der Sicherung über die Oberfläche ausgegeben, sondern alle Informationen über den Fortschritt der Sicherung in der Datei Backup.log gespeichert. Falls bereits eine Log-Datei mit dem im Skript angegebenen Pfad und Namen existiert, wird diese umbenannt und eine neue Log-Datei angelegt. Die umbenannte Datei bekommt Datum und Uhrzeit im Dateinamen vorangestellt.
/IncFührt ein inkrementelles Backup aller eingestellten Pfade durch. Dabei werden nur neue Dateien und Dateien, die sich seit der letzten Sicherung geändert haben und im Backup.log hinterlegt sind, gesichert.
Das Backup ist so konzipiert, dass es unbeaufsichtigt über den Zeitplandienst von Windows NT gestartet werden kann. Daher werden keine Meldungen während der Sicherung über die Oberfläche ausgegeben, sondern alle Informationen über den Fortschritt der Sicherung in der Datei Backup.log gespeichert.
/RestFührt eine Wiederherstellung der Dateien durch, die im Backup.log verzeichnet sind. Alle Einstellungen werden interaktiv abgefragt und müssen in einem abschließenden Dialog bestätigt werden. Daher ist ein versehendliches Überschreiben durch eine Restore-Operation sehr unwahrscheinlich.
Weiter werden die im Skript hinterlegten Variablen zwar ausgewertet, können jedoch im Fall eines Fehlers durch manuelle Werte überschrieben werden. Daher kann auch ein unverändertes Original-Skript zur Wiederherstellung benutzt werden. In diesem Fall wird der Pfad der Backup.log-Datei über einen Dialog abgefragt.
/SizeBestimmt die Anzahl und Gesamtgröße aller Dateien, die bei einem vollständigen Backup gesichert würden. Dabei kann nur die unkomprimierte Größe der Dateien angezeigt werden. Die Kompressionsrate bei Zip-Archiven liegt je nach Dateityp zwischen 50% – 80% – d.h., die resultierende Größe des Archives liegt zwischen 50% – 20% der originalen Größe der Dateien.

Skript-Variablen

Im WSHBackup-Skript können Sie verschiedene Einstellungen vornehmen. Dazu gehören die Auswahl eines bestimmten Packers, den Sie für die Datensicherung benutzen wollen und der Pfad zu den Dateien, die gesichert werden sollen.
Das Skript führt im Kopf eine Liste mit einer kurzen Beschreibung aller zu setzenden Variablen auf. Die Variablen selber müssen Sie in der Prozedur „DefineBackup()“ setzen, die durch die REM-Zeile „ToDo“ gekennzeichnet ist. Hier werden nochmals alle Variablen ausführlich beschrieben.
Die Anpassung der Skript-Variablen sollte mit ein wenig Vorkenntnissen über die Programmierung des Windows Scripting Host eigentlich kein Problem darstellen. Alle Variablen sind standardmäßig mit einem “ ‚ “ Zeichen am Zeilenanfang kommentiert. Um eine Variable zu benutzen, muss erst das REM-Zeichen entfernt werden. Eine Besonderheit stellen die Variablen „Include“ und „Exclude“ dar, die keine eigentlichen Variablen sind, sondern Prozeduren darstellen. D.h., Sie können mehrere Include und Exclude-Variablen setzen, indem Sie z.B. eine Include-Zeile kopieren und dort einen zweiten Pfad angeben.

VariableBeschreibungStandardwert
LogNameDateiname einschließlich Pfad der Log-Datei. Standardmäßig wird die Log-Datei als „Backup.log“ im gleichen Verzeichnis gespeichert, in dem sich auch das Skript befindet. Die Log-Datei ist essentiell wichtig für ein inkrementelles Backup und eine spätere Wiederherstellung über Restore.Skriptpfad & „\Backup.log“
ArchivePathad eines Verzeichnisses, in dem die Sicherungen gespeichert werden sollen, wie z.B. „D:\Backup“. Falls kein Pfad angegeben wird, werden die Archive im Verzeichnis des Skriptes erstellt.Skriptpfad
ArchiveFileNameDateiname des Archives, wie z.B. „Backup.zip“. Falls kein Name angegeben wird, verwendet das Skript den Dateinamen „Backup“ ohne Dateierweiterung.„Backup“
ArchiveMaxSizeMaximale Archivgröße in KByte. Wenn „ArchivInFolder = True“ gesetzt wird, bezeichnet die Größe die maximale Größe eines Backup-Verzeichnisses. Falls keine Maximalgröße angegeben wird, werden alle Dateien in ein einziges Archiv gesichert. So kann zum Beispiel „ArchiveMaxSize = 640000“ für eine Sicherung auf CD-R angegeben werden (die letzten 10MB sind zur Sicherheit freigelassen)0
ArchiveRemovableMediaSchalter, ob Wechselmedien wie Disketten oder Zip-Disketten benutzt werden. Diese Variable kann den Wert „True“ oder „False“ annehmen.

ACHTUNG: Diese Option funktioniert nur im interaktiven Modus, da auf  Nachfrage das Medium gewechselt werden muss. Weiter wird „ArchiveMaxSize“ ignoriert und ein Medium zur Gänze vollgeschrieben. Der Pfad sollte nur auf das entsprechende Laufwerk zeigen, da sonst unnötige Verzeichnisse angelegt werden !
False
ArchiveInFolderSchalter, ob Archive in Verzeichnisse der Größe „ArchiveMaxSize“ gespeichert werden. Die Verzeichnisse werden von „Disk1“ bis „DiskN“ durchnummeriert. Die Werte „True“ und „False“ sind für diese Variable erlaubt. Diese Option schließt die Funktion „ArchiveRemovableMedia“ aus und sollte mit der Angabe „ArchiveMaxSize“ verwendet werden, die in diesem Fall die Maximalgröße eines Ordners angibt.False
ArchiveAdd, ArchiveRestoreKommandozeile zur Sicherung einer Datei (ArchiveAdd) und zur Wiederherstellung einer Datei (ArchiveRestore) mittels eines Pack-Programms.
Diese Kommandozeile wird immer dann ausgeführt, wenn eine Datei oder eine Gruppe von Dateien gesichert oder wiederhergestellt werden soll. Die Beispiele im Skript sind funktionierende Kommandozeilen für Winzip ab Version 6.2 und WinRAR ab Version 2.5. Je nachdem, ob Sie Winzip oder WinRAR verwenden wollen, können Sie einfach in den entsprechenden Zeilen das REM-Zeichen (“ ‚ „) entfernen.
 
Im Skript ist noch eine Methode implementiert, die eine Datensicherung mittels einfacher Kopie der jeweiligen Dateien durchführt (CopyFile.vbs). Diese Methode sollten Sie nur in Ausnahmefällen benutzen, da Sie erheblich mehr Platz zum Sichern benötigen.

Für die Benutzung von Winzip 6.2 gelten folgende Einschränkungen:
Eine Wiederherstellung kann nur für gesamte Archive durchgeführt werden. Winzip fügt Dateien direkt an ein Archiv an. Daher ist es gerade für große Archive, wie z.B. CDs, besonders geeignet.
Für die Benutzung von WinRAR 2.5 gelten folgende Einschränkungen:
Dateierweiterung des „ArchiveFileName“ gibt an, welcher Archivtyp erstellt wird. So erzeugt die Erweiterung „.rar“ RAR-Archive, während „.zip“ ZIP-Archive erstellt. Der Ordner für temporäre Dateien sollte bei der Benutzung von Wechseldatenträgern im WinRAR Programm auf den Standard-Windows Temp-Pfad gesetzt werden.
ACHTUNG: WinRAR fügt Dateien erst an eine temporäre Kopie des Archivs an. Dadurch wird bei großen Archiven zum Teil der doppelte Speicherplatz beim Archivieren benötigt ! Daher ist WinRAR besonders für maximale Kompression und die Archivierung in kleinere Archive geeignet, wie z.B. Disketten oder Zip-Medien. Weiter ist WinRAR bei der Wiederherstellung am leistungsfähigsten, da einzelne Dateien aus Archiven wiederhergestellt werden können.

Sollten sie für einen anderen Packer selbst eine Kommandozeile entwickeln wollen, so können sie innerhalb der Kommandozeile folgende Platzhalter verwenden, die durch das Skript mit den jeweiligen Daten gefüllt werden:

%Archive
Pfad und Dateiname des Archivs
z.B. C:\990627.22-47-36.Backup#1.rar

%File
Pfad und Dateiname der zu sichernden, bzw. wiederherzustellenden Datei (z.B. „C:\Eigene Dateien\abc.doc“).

%List
Pfad und Dateiname der Datei, die die zu sichernden Dateinamen enthält. Dieses Verfahren ist bei gößeren Backups > 100MB wichtig, da sonst das Hinzufügen einzelner Dateien sehr langsam geht. Allerdings werden bei diesem Verfahren keine Fehler während des Backups entdeckt, da immer eine ganze Liste von Dateien gesichert wird. (z.B. „C:\Temp\abc.tmp“).

%Drive
Laufwerk der zu sichernden, bzw. wiederherzustellenden Datei ohne abschließenden Backslash (z.B. „C:“). Bei einem UNC-Pfad beinhaltet die Variable den Rechnername und Freigabe (z.B. „\\Rechner\Freigabe“).

%Path
Pfad der zu sichernden, bzw. wiederherzustellenden Datei ohne führenden und abschließenden Backslash (z.B. „Eigene Dateien“).

%Name
Dateiname der zu sichernden, bzw. wiederherzustellenden Datei ohne führenden Backslash (z.B.“abc.doc“).

%Restore
Pfad ohne abschließenden Backslash, in dem die Dateien wiederhergestellt werden sollen. Falls die Dateien im Originalpfad hergestellt werden sollen, wird die Variable durch das Laufwerk ohne abschließenden Backslash ersetzt. (z.B. „C:\Temp“).

(Doppelte Anführungszeichen stehen für ein Anführungszeichen selbst !)
IncludeHier können Pfade angegeben werden, die dem Backup hinzugefügt werden sollen. Für mehrere Pfade muss die Prozedur „Include“ mehrmals mit dem jeweiligen Pfad aufgerufen werden. Am Ende des Pfades kann ein expliziter Dateiname oder eine Maske für Dateinamen mit den Wildcard-Zeichen „?“ und „*“ angegeben werden (z.B. Include „C:\Eigene Dateien\*.do?“).Im Orginal-Skript ist hier kein Pfad angegeben.
ExcludeHier können Pfade angegeben werden, die vom Backup ausgeschlossen werden sollen. Für mehrere Pfade muss die Prozedur „Exclude“ mehrmals mit dem jeweiligen Pfad aufgerufen werden. Am Ende des Pfades kann ein expliziter Dateiname oder eine Maske für
Dateinamen mit den Wildcard-Zeichen „?“ und „*“ angegeben werden (z.B. Exclude „C:\Eigene Programme\*.tmp“).
Im Orginal-Skript ist hier kein Pfad angegeben.
TraceAnzeige aller Kommandozeilenaufrufe. Diese Variable kann den Wert „True“ oder „False“ annehmen. Sie dient dem Debugging von Kommandozeilen und kann bei der Änderung des Skriptes sehr hilfreich sein.False

Aufgrund der vielfältigen Möglichkeiten, die das Skript bietet ist der Source Code relativ aufwendig geworden. Sollten Sie Fehler finden oder Verbesserungsvorschläge haben, so können Sie sich direkt via E-Mail oder unser Kontakt-Formular an uns wenden.

Implementation der Datensicherung

Das vorgestellte Datensicherungskonzept mit dem WSHBackup-Skript kann analog zu einer Bandsicherung implementiert werden, wie sie in Backup mit NT gezeigt wird. Die zentrale Komponente hierbei ist das WSHBackup-Skript:

Im ersten Schritt sollten Sie die Skript-Variablen an Ihre Bedürfnisse anpassen und das so geänderte Skript speichern. Um eine Vollsicherung manuell zu beginnen, ist es sinnvoll, eine Verknüpfung auf dieses angepasste Skript mit dem Kommandozeilenparameter „/Full“ zu erstellen.
Neben der manuellen Vollsicherung sollten automatische, inkrementelle Sicherungen durch den Zeitplandienst von NT oder den Systemdienst von Windows 95/98 ausgeführt werden. Dazu registrieren Sie die folgende Kommandozeile im Zeitplandienst von Windows NT:

C:\WINNT\system32\wscript.exe C:\Backup\WSHBackup.vbs /Inc

Falls Sie das Skript nicht im Ordner „C:\Backup“ gespeichert haben, sollten Sie natürlich den Pfad innerhalb der Kommandozeile anpassen. Das gleiche gilt auch für den Pfad des Windows Scripting Host „wscript.exe“ der sich im Systemverzeichnis von Windows befindet.
Sollten Sie einen permanent laufenden Rechner zur Sicherung benutzen, bietet es sich an, die Kommandozeile jede Nacht um 3:00 Uhr auszuführen. Zu diesem Zeitpunkt ist die Wahrscheinlichkeit gering, dass noch Dateien durch Benutzer geöffnet sind, und es besteht noch genügend Zeit für die Sicherungsoperation, bis sich der erste Benutzer wieder am System oder Netzwerk anmeldet.

Die Batch-Datei AtWSHBackup.bat trägt alle Kommandozeilenaufrufe im Zeitplandienst von Windows NT ein. Sie sollten jedoch bevor Sie die Batch-Datei starten, die Pfade der Kommandozeile überprüfen.
Bei der Sicherungen von einzelnen Workstations, die Nachts nicht betrieben werden und auch keinen Netzwerkzugang zu einem permanent laufenden Server haben, kann das Skript über den Autostart-Ordner beim Hochfahren des Rechners gestartet werden. Diese Option sichert natürlich nur Änderungen vom Vortag!

Kontrolle der Datensicherung

Sämtliche Dateien, die gesichert wurden, sind im der Backup.log aufgelistet. Zusätzlich wird eine Zusammenfassung über die benötigte Zeit und die Anzahl und Größe der gesicherten Dateien in der Log-Datei vermerkt. Daher kann das Backup.log zur Überprüfung einer Sicherung herangezogen werden.
Weiter finden die Datensicherungen in gepackten Archiven statt, die sich mit Winzip bzw. WinRAR einzeln öffnen lassen. Im Dateinamen jedes Archivs ist das Datum und die Uhrzeit der Sicherung vorangestellt. Daher kann eine Datensicherung auch direkt in den jeweiligen Archiven überprüft werden.

Wiederherstellung von Dateien

WSH Backup Skript: Wiederherstellung
WSH Backup Skript: Wiederherstellung

Zur Wiederherstellung von Dateien aus einem Datensicherungssatz mit einer Vollsicherung und mehreren inkrementellen Sicherungen bieten sich zwei Lösungen an: Die einfachste ist der direkte Zugriff auf ein Archiv mittels Winzip oder WinRAR. Mit dieser Methode können einzelne Dateien direkt aus der Datensicherung wiederhergestellt oder weiterverarbeitet werden.
Um jedoch eine Wiederherstellung eines ganzen Verzeichnisses oder aller Versionen einer Datei zu erreichen, sollte man sich der Wiederherstellungsoption des WSHBackup-Skriptes bedienen. Dafür kann entweder die angepasste oder die originale Version des Skriptes mit dem Kommandozeilenparameter „/Rest“ aufgerufen werden.
Im Folgenden werden verschiedene Parameter für die Wiederherstellung abgefragt:
Als erstes muss der Pfad zur Backup.log Datei angegeben werden, wenn sich die Log-Datei nicht im gleichen Verzeichnis wie das Skript befindet. Im nächsten Eingabedialog wird der Pfad der gesicherten Dateien abgefragt, die aus dem Sicherungssatz wiederhergestellt werden sollen. Die Standardeinstellung ist „<Alle>“, die alle Dateien des Sicherungssatzes wiederherstellt. Als nächstes kann der Zeitpunkt bestimmt werden, bis zu dem die Dateien wiederhergestellt werden sollen. Diese Option ist dann sinnvoll, wenn nicht die neueste, sondern eine ältere Version einer Datei benötigt wird. Standardmäßig wird das letzte Sicherungsdatum vorgeschlagen. In der letzten Eingabe-Box wird der Zielpfad für die Wiederherstellung abgefragt. Hier sollten Sie ein temporäres Verzeichnis angeben, wenn Sie die bestehenden Dateien nicht überschreiben wollen. Die Standardvorgabe ist „<Originalpfad>“, die die Dateien in ihrem ursprünglichen Pfad wiederherstellt.
Nachdem Sie alle Parameter für eine Wiederherstellung eingegeben haben, kommt noch ein letzter Bestätigungsdialog, der noch einmal alle Parameter auflistet und die letzte Möglichkeit zum Abbruch der Wiederherstellung bietet.
Während der Wiederherstellung kann es vorkommen, dass ein Archiv nicht im angegebenen Pfad gefunden wird. Sie haben dann die Möglichkeit, den Pfad zu ändern, oder über die Schaltfläche „Abbruch“ dieses Archiv zu überspringen. Gerade letztere Option bietet sich bei einem defekten oder nicht verfügbaren Sicherungsarchiv an.
Es gibt jedoch eine Einschränkung bei der Wiederherstellung mittels WSHBackup-Skript: Es werden auch bereits in einem Verzeichnis gelöschte Dateien wiederhergestellt. Dieser Umstand sollte jedoch zu verschmerzen sein, da nachher höchstens zu viele Dateien, jedoch nie zu wenige Dateien vorliegen!

Downloads

Download Backup Skript18 KBSkript als Zip-Archiv

Weitere Informationen