BAKCOPY: Beschreibung
Einleitung
Natürlich ist es überflüssig, auf die Wichtigkeit von Datensicherungen einzugehen. Selbst das schlichte Dateikopieren auf eine externe Festplatte, einen USB-Stick oder eine Speicherkarte ist bei Weitem besser als überhaupt keine Sicherung.
Nun ist es nicht schwierig, die entsprechenden Datenverzeichnisse mittels eines Dateimanagers wie dem Explorer an ein USB-Laufwerk zu senden (wie hier gezeigt). Doch viele Benutzer sind nicht vertraut mit solchen Programmen und den Möglichkeiten, Dateiobjekte zu markieren und zu kopieren. Somit ist es in manchen Fällen wünschenswert, dass ein Serviceanbieter oder zumindest eine hilfreiche Person mit grundlegenden Computerkenntnissen eine passende, einfach zu handhabende Anwendung zur Datensicherung einrichtet.
Zudem ist es vorteilhaft, wenn dieser Vorgang automatisiert werden kann, da Datensicherungen wiederkehrende Aufgaben sind. Und wie in diesem Artikel aufgezeigt, ist der Explorer auch nicht immer das adäquate Mittel, um einen größeren Satz von Dateien oder Ordnern zu bearbeiten.
Gewiss, es gibt spezialisierte Backup-Programme, und Betriebssysteme wie Windows stellen auch selbst Sicherungsfunktionen bereit. Die unterschiedliche Verfügbarkeit und Handhabung macht es hier jedoch oft schwer, im Bedarfsfall schnell eine Lösung einzurichten und zu automatisieren. Dabei würde es eigentlich in sehr vielen Fällen ausreichen, die eingangs erwähnte Datenkopie mit einfachen Befehlsdateien zu realisieren. Als weiterer Vorteil liegen solche Dateien in Textform vor und lassen sich somit leicht an die jeweiligen Erfordernisse anpassen.
Script zur Datenkopie
Für solche Einsatzzwecke habe ich das Script BAKCOPY (bakcopy.vbs) entwickelt. Meine Wahl fiel auf WSH/VBS, weil es recht leistungsfähig und auf praktisch allen Windows-Versionen verfügbar ist. Das Script ist als kleines, nützliches Werkzeug für den Eigenbedarf wie für den Service gedacht. Der Entwurf folgt dem Prinzip einer möglichst generellen Lösung. Damit zur Anpassung an konkrete Datensicherungen nicht das Script selbst bearbeitet werden muss, verwendet es eine kurze Textkonfigurationsdatei (standardmäßig: bakcopy.ini). Die Parameter dieser INI-Datei sind im Text bakcopy.txt beschrieben.
Um das Script unmittelbar einzusetzen, bedarf die INI-Datei nur einer kleinen Bearbeitung, indem zumindest ein passender Verzeichnisname in den Abschnitt [folder] eingetragen wird. Obwohl die einfachste Sicherungskonfiguration wohl darin bestünde, den Verzeichnisbaum %USERPROFILE% zu kopieren, ist das ein wenig fragwürdig – auch wenn das so mal als Beispiel gezeigt wird. In diesem Bereich befinden sich viele Dateien, die man eigentlich nicht sichern will. (Und bei einer Datensicherung der langwierigen Kopie des Browser-Caches zusehen zu müssen, ist nicht gerade schön.)
Ferner muss der Parameter defaultdrive überprüft bzw. abgeändert werden. Die beste Vorgehensweise dürfte darin bestehen, testweise das vorgesehene Sicherungsmedium anzuschließen und dann dessen Laufwerkskennung einzutragen.
Assistent
Leider fehlt WSH/VBS die Möglichkeit, API-Funktionen von Windows aufzurufen. Um also das Lesen von INI-Dateien mittels Script zu unterstützen, habe ich VTOOL geschrieben. VTOOL ist ein COM-Modul, das einige Objekte zur Verfügung stellt (s. Beschreibung), darunter ein Listbox-Fenster, das vom Script benutzt wird, um dem Anwender eine bequeme Auswahl des Ziellaufwerks anzubieten.
Abgesehen von der Installation bzw. Registrierung dieses Moduls sollten damit keine weiteren Umstände verbunden sein. Auf der anderen Seite wäre es auch nicht zu schwierig, eine VTOOL-lose Script-Version zu erstellen. Hierzu müssten alle benötigten INI-Parameter durch Aufrufargumente und/oder Inline-Parameter ersetzt werden. Die Fensteranzeigen (Laufwerksauswahl und Fortschrittsbalken) sind ohnehin optional.
Eine Kopieranwendung, die auf VTOOL verzichtet, sehen Sie auch am Beispiel von FolderCopy. (FolderCopy verwendet einen anderen Ansatz, da es für das Kopieren beliebiger Ordner und Dateien im Kontext des Explorers konzipiert ist.)
Hinweise, Verwendung
Weil das Script in quelloffener Form vorliegt, kann es natürlich auch als Vorlage behandelt und für spezifische Erfordernisse modifiziert werden. Falls Sie selbst interessante Änderungen vornehmen, können Sie mir diese Version bzw. eine Beschreibung gerne zusenden. Auch sind Verbesserungsvorschläge willkommen.
Obwohl BAKCOPY – zusammen mit VTOOL – in der Praxis eingesetzt wird, können aus rechtlichen Gründen weder die Eignung noch eine risikofreie Benutzung zugesagt werden. Jede Verwendung erfolgt auf eigene Verantwortung!
Es kommt hinzu, dass das Script von mehreren Systemkomponenten und deren Funktionsweise abhängig ist. Und beachten Sie bitte, dass die Zuverlässigkeit wie allgemein bei Sicherungskopien auch von einem korrekten und sorgfältigen Vorgehen bestimmt wird. Verwenden Sie ein geeignetes Speichermedium guter Qualität. Es ist empfehlenswert, den Zustand des Mediums wie der Sicherungskopien regelmäßig zu überprüfen.
Download/Installation
Die Datei bakcopy.zip enthält die Script-Datei (bakcopy.vbs), die erwähnte Beschreibung (bakcopy.txt) und eine INI-Datei als Muster (bakcopy.ini). Die Datei pretzel.zip enthält ein ergänzendes Beispiel-Script.
Zur Installation entpacken Sie bakcopy.zip – und optional pretzel.zip – in ein Verzeichnis Ihrer Wahl. Entsprechendes gilt für VTOOL (s. dort).
Die folgenden beispielhaften (Pseudo-) Anweisungen zeigen alle Schritte auf.
cd \Downloads unzip bakcopy.zip -d \Tools unzip pretzel.zip -d \Tools unzip vtool.zip -d \Tools cd \Tools vtool.exe /regserver notepad bakcopy.ini
Hierbei wird die VTOOL-Registrierung Administrationsrechte erfordern.
Weitere Informationen finden Sie in den Beschreibungen zu BAKCOPY und VTOOL.