rotierendes Time Machine-Backup
Nachdem es in unserer Wohnung kürzlich einen Wasserschaden gab ist mir das Thema Backup, zu Deutsch Datensicherung, wieder stärker in den Sinn gekommen. Ich verwende zwar seit gut einem Jahr Time Machine, aber wenn es statt eines Wasserschadens ein Feuer gewesen wäre hätte mir das nichts gebracht - ein Feuer hätte sowohl mein System als auch mein Backup vernichtet. Deshalb habe ich mein Backup-Konzept überdacht und verbessert. Statt einer nutze ich jetzt zwei Festplatten für das Backup und lagere eine dieser Festplatten außerhalb der Wohnung.
Da die Einrichtung eines mehrere Festplatten nutzenden Backups mit Time Machine etwas kniffliger ist folgt eine längere Abhandlung zum ganzen Backup-Thema, mit dem Fokus auf Mac OS X bzw. Time Machine.
Grundlagen
Man unterscheidet zwischen mehreren Arten von Backups. Am wichtigsten sind On-Site- und Off-Site-Backups.
Als On-Site wird ein Backup bezeichnet wenn es sich am selben Ort befindet wie auch das System das gesichert wird. Bei einem Off-Site-Backup hingegen befinden sich das Backup und das System an zwei unterschiedlichen Orten.
Der Vorteil eines Off-Site-Backups liegt auf der Hand: Wird der Ort, an dem sich mein System befindet, zerstört, z.B. durch ein Feuer, sind beim On-Site-Backup sämtliche Daten vernichtet, inkl. des Backups. Beim Off-Site-Backup - ausreichende Distanz zwischen den Orten vorausgesetzt - überlebt entweder das System oder das Backup, abhängig vom Ort der vernichtet wird.
Ein "richtiges" Backup ist folglich ein Off-Site-Backup, denn nur das schützt ausreichend. Es werden dafür allerdings mindestens zwei Backup-Festplatten benötigt.
Auswahl der Festplatten
Grundsätzlich gibt es zwei Regeln die man beim Kauf der Backup-Festplatten befolgen muss: Zum einen muss man die Festplatten an das System anschließen können, zum anderen müssen die Backup-Festplatten mindestens genau so groß sein wie die System-Festplatte.
Neben den Regeln gibt es noch Empfehlungen:
- Wähle die schnellste Möglichkeit. In meinem Fall stehen mir als Schnittstellen USB 2.0 und FireWire 800 zur Verfügung. Da FireWire 800 mit 800 Mbit/s fast doppelt so schnell ist wie USB 2.0 mit 480 Mbit/s lohnt sich die Investition in eine Festplatte mit entsprechendem Anschluss. Alleine dadurch kann sich die benötigte Zeit für ein Backup drastisch verringern.
- Die Backup-Festplatten sollten deutlich größer sein als die System-Festplatte, am besten mindestens doppelt so groß. Da Time Machine mehrere Backups auf einer Festplatte speichert hat man so im schlechtesten Fall zwei komplette Backups seines Systems zur Hand, normalerweise kann man dank dem zur Verfügung stehenden Platz noch auf mehrere Monate alte Backups zugreifen.
- Festplatten unterschiedlicher Hersteller verwenden. Damit ist man im Falle von Produktionsfehlern nur bei einer Festplatte betroffen und kann die andere nach wie vor einsetzen.
- Sobald eine Festplatte nicht mehr funktioniert ist sie sofort zu ersetzen. Das Konzept funktioniert nur mit zwei (oder noch mehr) Backup-Festplatten wie gewünscht.
Einrichtung der Festplatten
Hat man mehrere Backup-Festplatten zur Hand kann man mit der Einrichtung beginnen. Es gilt jede Festplatte einzeln als Time Machine-Volume zu deklarieren, eine Vollsicherung durchführen und dann die Konfigurationsdatei zu sichern.
In meinem Fall war schon ein Time Machine-Volume vorhanden, allerdings mit einem wenig ausdrucksstarken Namen behaftet. Daher habe ich als erstes das vorhandene Time Machine-Volume angeschlossen, es umbenannt ("MBP-Bck-2009") und dann eine Sicherung gestartet. Neue Festplatten müssen bevor die erste Sicherung gestartet wird erst über die Time Machine-Systemsteuerung als Volume definiert werden, der Time Machine-Grundkurs von Apple beschreibt wie das geht.
Nachdem die Sicherung fertig ist muss die Konfigurationsdatei gesichert werden. Sie liegt unter /Library/Preferences und heisst com.apple.TimeMachine.plist. Um die verschiedenen Konfigurationsdateien später unterscheiden zu können habe ich einfach den Namen des Volumes angehangen, im Terminal habe ich also folgendes ausgeführt:
cd /Library/Preferences
sudo mv com.apple.TimeMachine.plist com.apple.TimeMachine.plist.MBP-Bck-2009
Der zweite Befehl wird in den meisten Fällen eine Passwortabfrage zur Folge haben, hier einfach das Passwort eingeben das auch zur Anmeldung verwendet wird. Alles in allem wird bewirkt das die Konfigurationsdatei umbenannt wird.
Ist das erledigt kann man die Festplatte auswerfen und die nächste Festplatte anschließen. Wieder muss man sie zu einem Time Machine-Volume machen, wieder muss man eine erste Sicherung durchführen. Da man die Konfiguration im vorigen Schritt umbenannt hat sieht Time Machine unkonfiguriert aus, das ist in dem Fall aber okay.
Wenn die Sicherung fertig ist muss die Konfiguration erneut umbenannt werden, dieses mal wird aber der Name des neuen Volumes ("MBP-Bck-2010") angehangen:
cd /Library/Preferences
sudo mv com.apple.TimeMachine.plist com.apple.TimeMachine.plist.MBP-Bck-2010
Das war es mit der Einrichtung der Festplatten, es sei denn man hat noch mehr Volumes die man nutzen möchte. Sobald alle Time Machine-Volumes konfiguriert sind und jede Festplatte eine erste Sicherung enthält geht es jedenfalls mit ein wenig AppleScript weiter.
AppleScript zum automatischen Volume-Wechsel
Das Time Machine mit mehr als einer Festplatte Probleme hat liegt daran, dass Time Machine prinzipiell nur für die Verwendung mit einer Festplatte gedacht ist. Man kann zwar mehrere Festplatten verwenden, müsste aber jedes mal von Hand die Time Machine-Systemsteuerung aufrufen und neu konfigurieren. Hier kommt AppleScript ins Spiel.
AppleScript ist eine von Apple entwickelte Skriptsprache welche sich zum automatisieren von Abläufen hervorragend eignet. Im Internet finden sich einige Skripte zum Thema Time Machine, nach einigen Sichtungen, Versuchen und Änderungen ist bei mir folgendes Skript entstanden:
# One entry per backup disk, containing only the name of the volume
property backupDisks : {"MBP-Bck-2009", "MBP-Bck-2010"}
# Do not change the following properties!
property basePath : "/Library/Preferences/"
property active : (basePath & "com.apple.TimeMachine.plist")
property activeDrive : ""
# Disable Time Machine
do shell script "defaults write com.apple.TimeMachine AutoBackup -bool false"
# Go through the list of valid backup disks and set the active disk
repeat with i from 1 to (length of backupDisks)
set diskName to item i of backupDisks
if (list disks) contains diskName then
set activeDrive to (active & "." & diskName)
end if
end repeat
# If a backup disk was found switch to it
if not activeDrive is equal to "" then
tell application "Finder"
if exists activeDrive as POSIX file then
if exists active as POSIX file then
do shell script ("rm " & active)
end if
do shell script ("ln " & activeDrive & " " & active)
end if
end tell
end if
# Enable Time Machine
do shell script "defaults write com.apple.TimeMachine AutoBackup -bool true"
Das Skript muss im AppleScript-Editor eingefügt werden, anschließend müssen in der ersten "property…"-Zeile die Namen der Backup-Volumes angepasst werden.
Immer noch im AppleScript-Editor wählt man "Ablage" -> "Speichern unter…", setzt das Dateiformat auf "Programm", setzt den Haken bei "Nur ausführbar" und speichert das Ganze unter einem passenden Namen ab. Im folgenden gehe ich davon aus dass das Programm "TM Switcher" heisst.
Do Something When
Man hat jetzt also mehrere Backup-Volumes und ein Programm was den Wechsel zwischen den Volumes bewerkstelligen kann. Was fehlt ist eine Möglichkeit das Programm automatisch ausführen zu lassen wenn ein Backup-Volume angeschlossen wird. Hier hilft das kostenlose Do Something When, oder kurz DSW.
DSW ist erst einmal nichts weiter als eine weitere Systemsteuerung. Doch mit ein wenig Konfiguration erledigt sie genau das was noch fehlt: Den Aufruf von TM Switcher sobald eines der Backup-Volumes angeschlossen wird.
Zur Konfiguration ruft man DSW über "Apfel-Symbol" -> "Systemeinstellungen…" -> "DSW" auf. Der Haken "Automatically Start on Login" sollte gesetzt werden. Danach schließt man wieder nacheinander die Backup-Volumes an und definiert für jedes eine Regel:
- Bei "Rule Name" sollte etwas sprechendes eingetragen werden
- "When" muss im ersten Feld den Namen des Backup-Volumes und im zweiten "Mounts" enthalten
- In der Zeile "What" muss im ersten Feld "Open" stehen, im zweiten wählt man das Programm "TM Switcher" aus
- Im Eingabefeld "delay" ist der Wert "0" genau richtig
Fertig sieht das dann ungefähr so aus:
Ist für jedes Backup-Volume eine Regel definiert kann man DSW mit einem Klick auf den Button "Start" starten. Ab sofort wird beim anschließen eines Backup-Volumes Time Machine entsprechend konfiguriert, was natürlich getestet werden will. Einfach die verschiedenen Festplatten nacheinander (jeweils alleine für sich) anschließen und von Hand eine Sicherung starten. Meckert Time Machine nicht und ist Aktivität auf der Festplatte festzustellen stimmt alles.
[ad#inline]
Off-Site-Rotation
Sind die Festplatten und das Programm zum automatischen Wechsel der aktiven Backup-Festplatte eingerichtet und getestet kann man sich des Themas der Rotation annehmen. Dazu braucht man als erstes einen Ort an dem man die jeweilige Off-Site-Festplatte lagern kann. Ich habe aus naheliegenden Gründen mein Büro ausgewählt. Als nächstes sollte man sich überlegen wie oft und wann man rotiert. Da ich eh jeden Tag im Büro bin rotiere ich jeden Montag.
Was tut man also wenn der Rotationstermin gekommen ist? Ganz einfach: Man nimmt die aktuelle On-Site-Festplatte, bringt sie Off-Site und nimmt die dort liegende Off-Site-Festplatte wieder mit nach Hause - womit sie zur On-Site-Festplatte wird. Auf keinen Fall sollte man die Off-Site-Festplatte erst nach Hause bringen und dann am nächsten Tag die andere Festplatte Off-Site bringen!
Ergebnis
Das beschriebene Konzept hört sich nach viel Aufwand an, schützt aber zuverlässig vor Datenverlust jeglicher Art:
- Datei gelöscht? Kein Problem, On-Site liegt ja ein Backup griffbereit.
- System-Festplatte defekt? Kein Problem, ersetzen und das aktuellste On-Site-Backup einspielen.
- Wohnung abgebrannt? Ärgerlich, aber für die Daten nicht verheerend. Schließlich gibt es ein Off-Site-Backup.
Diese Sicherheit ist mir die ca. 120 € Mehrkosten für die zweite Backup-Festplatte wert. Denn sollte mein System mal defekt sein habe ich nichts mehr, keine Musik, keine Fotos, nichts. Dank ausgefeilter Backup-Strategie verhindere ich genau diesen Komplettverlust.
Erweiterung
Um das Backup noch robuster zu gestalten kann man zusätzlich Services wie Dropbox nutzen. Dropbox kopiert automatisch alle im Dropbox-Ordner gespeicherten Dateien auf deren Server im Internet, und zwar im Moment der Speicherung. Ich selbst nutze und liebe Dropbox, aber eine detaillierte Beschreibung bräuchte einen eigenen Artikel.

Juli 31st, 2010
Sehr interessanter und ausführlicher Artikel.
Einige Dinge möchte ich noch kurz anmerken:
Den manuellen Plattenwechsel muss man wirklich regelmäßig durchführen. Das muss natürlich an die eigene Backupstrategie und Wichtigkeit der Daten angepasst werden. Nach meiner Erfahrung wird das manuelle Rotieren der Festplatten aber schnell mal vergessen. Gerade über einen längeren Zeitraum schleicht sich da Schlamperei ein.
Die zwei Backup-Festplatten sollten auch nie gleichzeitig in einem Haus sein. Da sehe ich aber ein Problem. Wenn die Daten wichtiger sind, dann ist evtl sogar eine Rotation von drei Festplatten sinnvoll.
Bei den Online-Festplatten, also auch dem hier vorgestellten Dropbox muss man daran denken, dass die Daten auf dem Online-Speicher nicht verschlüsselt sind (im Gegensatz zum Online-Backup). Um eine Verschlüsselung muss man sich vorher also selbst kümmern, wenn man das denn möchte.
November 4th, 2011
hej
wenn du doch aber ein MBP hast warum rotieren dann die platten und nicht einfach das book zwischen beiden?
Dezember 30th, 2011
Zugegeben: Ich habe nach kurzer Zeit einfach das MBP mit ins Büro genommen. Inzwischen ist das ganze für mich persönlich aber eh überholt – ich nutze seit ein paar Monaten einen iMac und ein iPad und habe meine Backup-Strategie dem angepasst. Off-Site ist jetzt online.
Dezember 10th, 2012
Danke für den tollen Eintrag. Ich will dann doch lieber noch manuell wechseln zwischen den Festplatten und habe mir dieses einfache Skript geschrieben:
set tempVar to display dialog “TimeMachine: Welche Konfiguration?” buttons {“USB-HD”, “Mach nichts.”, “Interne HD”} default button 2
set auswahl to button returned of tempVar as string
if auswahl contains “USB” then
do shell script “cp /Library/Preferences/’com.apple.TimeMachine USB.plist’ /Library/Preferences/com.apple.TimeMachine.plist”
end if
if auswahl contains “Interne” then
do shell script “cp /Library/Preferences/’com.apple.TimeMachine Intern.plist’ /Library/Preferences/com.apple.TimeMachine.plist”
end if
Dezember 11th, 2012
Nachtrag… das Skript musste ich nochmal umarbeiten…
set tempVar to display dialog “TimeMachine: Welche Konfiguration?” buttons {“USB-HD”, “Mach nichts.”, “Interne HD”} default button 2
set auswahl to button returned of tempVar as string
display dialog “Administrator-Passwort eingeben:” default answer “” with hidden answer
set Kennwort to text returned of the result
if auswahl contains “USB” then
do shell script “cp /Library/Preferences/’com.apple.TimeMachine USB.plist’ /Library/Preferences/com.apple.TimeMachine.plist” user name “ADMIN USERNAME” password Kennwort with administrator privileges
end if
if auswahl contains “Interne” then
do shell script “cp /Library/Preferences/’com.apple.TimeMachine Intern.plist’ /Library/Preferences/com.apple.TimeMachine.plist” user name “ADMIN USERNAME” password Kennwort with administrator privileges
end if