Tips für Drive Snapshot

Dieses Dokument erläutert einige Praxistips für den Festplatten-Imager Drive Snapshot.

Stärken von Drive Snapshot

Schwächen von Drive Snapshot

Vorbemerkungen

Ich verwende Drive Snapshot seit 2008-10. Als Backup-Medium verwende ich eine externe USB-Festplatte mit 1 TB Kapazität. Die Festplatte in meinem Notebook speichert derzeit ca. 120 GB. Ein vollständiges Image belegt damit komprimiert ca. 100 GB. Der Vorgang dauert ca. 3 Stunden. Ein nach einer Woche erstelltes differentielles Image ist bei mir typischerweise ca. 2 GB groß und wird meistens in weniger als 30 Minuten erstellt.

Es empfiehlt sich unbedingt, die Systemwiederherstellung in Windows abzuschalten. Wer regelmäßig mit Drive Snapshot sichert, braucht sie ohnehin nicht. Außerdem stören die Dateien in C:\System Volume Information die Erstellung von differentiellen Images.

Die Verwendung des ISO-8601-Datumsformats kann die Automation erleichtern, weil Verzeichnisnamen wie 2009-08-12 lexikalisch sortiert werden können. Die unten gezeigten Skripte laufen nur dann korrekt, wenn %date% das Datum im ISO-8601-Format enthält.

Ich verwende folgende Verzeichnisstruktur auf der externen Festplatte:

Vollständiges Image erstellen

Dieses Skript bspw. als full-image.cmd speichern:

set SnapshotExe=C:\Program Files\Snapshot\snapshot.exe
set SnapshotsBaseDir=E:\snapshots
set Today=%date%

set Directory=%SnapshotsBaseDir%\%Today%-base
set File=%Directory%\full.sna

mkdir "%Directory%"
%windir%\explorer.exe "%Directory%"
"%SnapshotExe%" C: "%File%" --novss
"%SnapshotExe%" "%File%" -T

pause

Differentielles Image erstellen

Dieses Skript bspw. als diff-image.cmd speichern:

set SnapshotExe=C:\Program Files\Snapshot\snapshot.exe
set SnapshotsBaseDir=E:\snapshots
set Today=%date%

set Directory=%SnapshotsBaseDir%\%Today%
set File=%Directory%\diff.sna

for /R "%SnapshotsBaseDir%" %%f in (full.hsh*) do set LastHashFile=%%f

mkdir "%Directory%"
%windir%\explorer.exe "%Directory%"
"%SnapshotExe%" C: "%File%" -h"%LastHashFile%" --novss
"%SnapshotExe%" "%File%" -T

pause