Wir alle wissen es: Es ist zu spät, deine Dateien zu sichern, nachdem deine Festplatte abgestürzt ist, richtig?
Ich musste das eines Morgens lernen, als ich den Computer meiner Frau nachts anlassen ließ, während Xcode installiert wurde. Sie hatte alle ihre Urlaubsfotos auf dieser Maschine und hat nie Backups gemacht. Irgendwie ist das System einfach eingefroren. Nach dem Aus- und Einschalten wollte es nicht mehr booten.
Ich brachte die Maschine in den Laden, wo sie sie gekauft hatte, aber alles war weg. Keine Dateien waren übrig. Die Lösung: eine neue Festplatte kaufen, ein externes Gehäuse für die alte Festplatte und Data Rescue 3. Nachdem ich die neue Festplatte eingebaut und das Betriebssystem und Data Rescue 3 installiert hatte, schloss ich die alte Festplatte per USB an und konnte all die schönen Urlaubsbilder wiederherstellen. Danke, Rescue 3!
Was ich gelernt habe: Es war Zeit für eine solide Backup-Strategie - und sie einzuhalten!
Meine Backup-Landschaft

In den letzten Monaten hat sich viel verändert. Ich habe viele neue Festplatten bekommen und ein weiteres MacBook von der Arbeit.
TimeMachine und Synology
Das Erste, was ich bekam, war eine Synology DiskStation DS211j mit zwei 500GB-Laufwerken im RAID1-Modus. Zusammen mit Time Machine ist es so einfach wie ein Stück Kuchen zu essen, um deine Systeme kontinuierlich über WLAN zu sichern.
Sharkoon
Normalerweise bleibt nicht viel Zeit, wenn man von der Arbeit nach Hause kommt, die Kinder ins Bett bringt und dann schließlich den Tag beendet. Es gibt Tage, an denen ich den Computer zu Hause nicht einschalte und daher kein Backup hätte.
Ich hatte ein paar “Überbleibsel”, ein externes Gehäuse von Sharkoon und eine 500GB-Festplatte. Ich brachte sie zur Arbeit und benutze sie jetzt dort mit Time Machine. Time Machine hat eine sehr coole Funktion, das gesamte Laufwerk zu verschlüsseln - ein Muss in Räumen, in denen du nicht kontrollieren kannst, wer Zugang zu deinem Zeug hat.
G-RAID und G-DRIVE
Zu Hause benutzte ich die DiskStation nicht nur für Time Machine, sondern auch als “Arbeitslaufwerk” für meine Fotografieprojekte. Bilder von meiner Digitalkamera können bis zu 20MB pro Stück sein. WLAN zu benutzen ist hier nicht die richtige Lösung, da es viel zu langsam ist.
Ich brauchte etwas Schnelles und Zuverlässiges. Meine endgültige Wahl fiel auf das G-RAID 2TB, das ich anfangs auf RAID1-Modus einstellte. Das ließ mir 1TB. Obwohl es möglich ist, sie im RAID1-Modus zu verwenden, sagte mir ihr Support, dass ich das nicht sollte, aus dem einfachen Grund, dass du keine Möglichkeit hast zu überprüfen, ob eines der Laufwerke ausgefallen ist.
Schließlich stellte ich sie zurück auf RAID0-Modus und bekam ein 2TB G-DRIVE, das mit dem G-RAID daisy-chained ist. Das G-RAID ist mein Arbeitslaufwerk und ich spiegele es auf das G-DRIVE mit rsync, wenn ich mit der Arbeit fertig bin.
Obwohl ich das G-RAID und das G-DRIVE leicht als RAID1-Cluster hätte verwenden können, tat ich das nicht, da ich den Geschwindigkeitsvorteil des G-RAID gegenüber dem G-DRIVE verloren hätte. Das ist der Grund, warum ich mit rsync spiegele.
RSync und MacOS
Einige Konfigurationen mussten auf meinem MacBook vorgenommen werden, um rsync in einen Modus zu bringen, der Sinn machte. Viele Dateien werden von macOS auf externen Festplatten erstellt, die ich nicht auf meine anderen Laufwerke gespiegelt haben wollte. In der Tabelle unten findest du die Datei oder das Verzeichnis, das entfernt werden sollte, und die zweite Spalte zeigt, wie man es macht.
| Was ist da? | Wie wird man es los? |
|---|---|
.Spotlight-V100 | Entferne das Verzeichnis .Spotlight-V100 und platziere eine Datei namens .metadata_never_index in /Volumes/<dein_laufwerk> |
.Trashes | Entferne das Verzeichnis .Trashes und platziere eine leere Datei .Trashes in /Volumes/<dein_laufwerk> |
.DS_Store | defaults write com.apple.desktopservices DSDontWriteNetworkStores true |
.fseventsd | Entferne alles in diesem Ordner und platziere eine Datei no_log hinein |
.apdisk | ? |
.TemporaryItems | ? |
Wie du in den letzten beiden Zeilen siehst, habe ich keine Ahnung, wie man deren Erstellung deaktiviert. Ich konnte die richtigen Infos im Web nicht finden. Ich habe sie zur Liste der Dateien hinzugefügt, die während des Sync-Prozesses ausgeschlossen werden, das Thema unseres nächsten Abschnitts.
Die Prozedur
Wann immer ich mit der Arbeit auf meinem G-RAID fertig bin, führe ich das folgende Skript aus, um alles auf das G-DRIVE zu spiegeln.
#!/bin/bash
source_directory="/Volumes/ACTIVE/"
destination_directory="/Volumes/ARCHIVE"
if ([ -d "$source_directory" ] && [ -d "$destination_directory" ]); then
find $source_directory -name.DS_Store -exec rm -f {} \; -print
rsync -av $source_directory $destination_directory --exclude=".VolumeIcon.icns" --delete-after
fi
Eigentlich macht es folgendes:
- Es prüft, ob alle meine Laufwerke angeschlossen wurden.
- Es entfernt alle
.DS_Store-Dateien, die ich möglicherweise von meiner lokalen Festplatte kopiert habe. - Es spiegelt das
source_directoryzumdestination_directory.
Die Option --delete-after bewirkt, dass Dateien, die im source_directory gelöscht wurden, auch im destination_directory gelöscht werden, nachdem alle anderen Dateien übertragen wurden.
Mit der Option --exclude-from ignoriere ich die Dateien, die in der txt-Datei aufgelistet sind. Darunter sind die, die von macOS erstellt werden, und auch das kleine Icon des Laufwerks, das auf dem Desktop angezeigt wird.
Die Ausschlussliste sieht wie folgt aus:
.VolumeIcon.icns
.Spotlight-V100
.Trashes
.DS_Store
.fseventsd
.apidisk
.TemporaryItems
Die Zukunft
Wie immer gibt es Raum für Verbesserungen.
Off-Site-Backups
Einfach! Irgendwann werde ich ein weiteres Laufwerk bekommen, auf das ich alle meine Daten von meinem G-RAID spiegeln werde. Es wird zum Beispiel zwei Wochen im Büro bleiben; danach bringe ich es nach Hause, übertrage die Daten und bringe es zurück ins Büro und schließe es dort ein.
Update 02.01.2013: Endlich habe ich Off-Site-Backups mit CrashPlan in meinem Beitrag “Off-Site-Backups mit CrashPlan” implementiert.
Stärkere Unterscheidung zwischen Arbeitslaufwerk und Archiv
Obwohl es 2TB hat, sinkt seine freie Kapazität Woche für Woche mit jedem neuen Bild, das ich mache, oder Video, das ich von iTunes bekomme. Aber zu keinem Zeitpunkt werde ich wirklich 2TB Daten zum “Arbeiten” brauchen. Eigentlich würde viel weniger reichen.
Ein echtes Archiv mit Daten, die ich nur gelegentlich brauche, könnte viel langsamer sein. Ein günstiges RAID1-fähiges Gehäuse würde reichen, mit der Option, Festplatten nach Bedarf zu wechseln. Das wäre auch eine coole Lösung für Off-Site-Backups, wo du einfach Laufwerke ein- und auswechselst und sie mitnimmst, wohin du willst.
RSync automatisieren
Alles manuell zu machen ist nicht gut. Menschen vergessen Dinge; Skripte nicht. Das sollte kein Problem sein, da es cron gibt. Eine Sache, die ich überprüfen muss, wenn ich es über cron auslöse, ist sicherzustellen, dass es nicht noch von einem vorherigen Aufruf läuft.
Inkrementelle Backups
Was, wenn ich versehentlich eine Datei auf meinem Arbeitslaufwerk lösche und sie dann mit meinem Archiv synchronisiere? Ja, sie ist für immer weg. Eigentlich spreche ich hier die ganze Zeit von Archivierung und nicht von Backups!
Ich habe die folgenden zwei Seiten im Web gefunden, die sehr vielversprechend aussehen:
Ressourcen
Dank der vielen Ressourcen im Web konnte ich meine Backup-Strategie Schritt für Schritt verbessern. Schau sie dir alle an!
- .Trashes,.fseventsd, and.Spotlight-V100
- How to prevent.DS_Store file creation over network connections
- How To disable Time Machine’s MobileBackup
Fertig für heute.