Eine einfache Außer-Haus-Sicherung auch für zuhause sollte man haben, gerade wenn man wichitge Projektdaten hat oder sei es nur für die Familienfotos. Damit ist man auch schon besser aufgestellt als sehr viele kleine und mittelständische Unternehmen 😉
Für die einfache Außer-Haus-Sicherung werden 2 externe Festplatten oder zwei interne Festplatten, die man über einen Adapter anschließen kann, benötigt. Auf beide Festplatten kommt ein Voll-Backup, am besten in einem verschlüsselten Container. Ich benutze dafür immer noch TrueCrypt, auch wenn die Entwicklung eingestellt worden ist. Um Zeit zu sparen kann man das Voll-Backup auf der ersten Platte in einem Container anlegen und diesen dann einfach auf die zweite Platte kopieren.
Für die Erstellung des ersten Voll-Backups und das spätere Abgleichen kann man ein einfaches Powershell-Skript wie folgendes verwenden:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# define source folders $Sources = 'E:\Test1','E:\Test2' # define destination folder $DestinationRoot = 'D:\Backup' # define log-file $Date = Get-Date -Format 'yyyy-MM-dd' $Log = "D:\Logs\$Date.log" $FileList = "D:\Log\$Date-Files.txt" # define files / filetypes which should be excluded $Excludes = 'thumbs.db','*.xyz' # loop through all source folders foreach ($Source in $Sources){ # determine destination path and run robocopy $Destination = $DestinationRoot + '\' + $Source.Remove(0,3) robocopy $Source $Destination /MIR /XF $Excludes /TEE /NP /ZB /LOG+:$Log # robocopy parameters: # MIR: mirroring, not only copying files, also deleting files # XF: exclude file # TEE: log-output in file and console # NP: don't show progress # create list of all files and directories to know which files are deleted $Items = Get-ChildItem -Path $Source -Recurse # enumerate the items array foreach ($Item in $Items){ # if the item is a directory, then process it. Add-Content $FileList $Item.FullName } # reset the archive-bit for files in the source folder recursive # used for incremental backups only attrib -a $Source\*.* /S } |
FullBackup.ps1
Achtung: In dieser Version ist das Skript nicht für Netzlaufwerke als Quellordner geeignet.
Eine der beiden Platten lagert man dann außerhalb seiner Wohnung/Haus, z.B. bei den Eltern oder anderen Verwandten. Immer wenn man ein aktuelles Backup macht, wird die Voll-Sicherung, die man gerade zuhause hat, mit dem Skript abgeglichen. Die Platte tauscht man dann bei den Verwandten aus und nimmt das ältere Voll-Backup wieder mit nach Hause für das nächste mal.
Für inkrementelle Zwischen-Sicherungen kann man das Archiv-Attribut der Dateien nutzen und dann nur die betroffenen Dateien sichern. Zusätzlich wird noch eine Liste aller aktuell in den Quellordnern vorhandenen Dateien exportiert. Mehr dazu im Folge-Artikel.