So sichern Sie mit TimeMachine den Inhalt eines Pfads oder eines bereitgestellten Volumes

7

Ich behalte verschiedene Datentypen in verschiedenen verschlüsselten Sparsebundle-Bildern (z. B. eines für jeden Client), die beim Anmelden automatisch bereitgestellt werden, aber nur von mir selbst geöffnet werden können. Nach der Anmeldung habe ich eine Reihe von virtuellen Volumes, auf /Volumes/denen meine Client-Daten sowohl sicher als auch organisiert sind.

Wie füge ich Daten in diese virtuellen Volumes in die Backups von TimeMachine ein oder Daten, die sich in einem beliebigen Pfad auf einer Partition / einem Volume befinden?

Ich habe eine vielversprechende Lösungsbeschreibung gefunden (Blog-Post nicht mehr online verfügbar), die das Bearbeiten der com.apple.TimeMachine.plistDatei enthält. TimeMachine kann jedoch nur die Sparsebundle-Dateien selbst sichern. Ich möchte jedoch, dass die Dateien im bereitgestellten Image gesichert werden - etwa das Hinzufügen von / Volumes / Client_abc / zum Suchpfad von TimeMachine.


Bitte leiten Sie meine nicht zu dieser vorherigen Frage weiter, da dies das Problem überhaupt nicht löst. Bitte sagen Sie mir auch nicht, warum Sie denken, ich sollte diese Antwort nicht wollen, da dies auch nichts lösen wird. Bitte sagen Sie zum Schluss nicht "es kann nicht gemacht werden", es sei denn, Sie können diese Behauptung technisch beweisen.

Olfan
quelle
Das Problem beim Sichern eines verschlüsselten Sparsebundles in Time Machine besteht darin, dass der gesamte verschlüsselte Container gespeichert wird und jede Änderung im Sparesebundle dazu führt, dass das gesamte Image erneut gespeichert wird. Leider gibt es nicht sehr viele Alternativen, da das Sichern der Dateien in den bereitgestellten Volumes (falls möglich) dazu führen würde, dass die verschlüsselten Dateien im Klartext auf Ihrem Sicherungslaufwerk gespeichert werden. Ich glaube, dass OS X Lion mehr Verschlüsselungsfunktionen unterstützen wird.
Bandit
@bandit verwechseln Sie sparseimages mit sparsebundles? Selbst wenn das Sparse-Bundle verschlüsselt ist, führen Änderungen an der bereitgestellten Festplatte nicht dazu, dass jedes Band im zugrunde liegenden Bundle geändert wird (ich habe es nur getestet, um sicherzugehen), sodass TM nur die geänderten Bänder sichert, nicht das gesamte Sparse bündeln. Warum sollte TM nicht einfach auf ein verschlüsseltes Image zurückgesetzt werden, um die Daten nach dem Backup verschlüsselt zu halten?
Buxtor
Das Notebook kann gestohlen werden, daher ist es wichtig, dass sich die Daten unterwegs in einem verschlüsselten Bild befinden. Der Backup-Speicher befindet sich in einem Rechenzentrum hinter dicken Türen und bewaffneten Wachen - die Daten können dort sehr gut unverschlüsselt gespeichert werden, da das Verlustrisiko dort sehr nahe bei Null liegt.
Olfan

Antworten:

8

Ich habe die Lösung gefunden, indem ich das Time Machine-Handbuch und unzählige Blog-Beiträge, Antworten auf Fragen und Antworten auf der Website usw. gelesen habe. Überall heißt es: "Time Machine sichert keine Daten auf Wechselmedien, lebt einfach damit oder verwendet seltsame Hacks."

Aber genau das ist es und es ist so offensichtlich! Ein bereitgestelltes .sparsebundle-Bild wird als Wechselmedium angesehen.

Alles, was Sie tun müssen, ist, Ihr .sparsebundle (verschlüsselt oder nicht wichtig) oder einen USB-Stick oder was auch immer in Time Machine als nicht entfernbares Medium gesichert erscheinen soll, zu mounten.

Dieses kleine Stück AppleScript macht den Trick:

do shell script "hdiutil attach /path/to/your.sparsebundle -notremovable" with administrator privileges

Der Schalter "-notremovable" sorgt dafür, dass das Image als nicht entfernbar bereitgestellt wird, und der Ausdruck "mit Administratorrechten" zeigt einen Kennwortanforderer an, um das Image als root und nicht als Ihr angemeldetes Benutzerkonto bereitzustellen. Für Time Machine ist Ihr bereitgestelltes Volume nur eine Festplatte, die nicht mehr ignoriert wird. Witzigerweise können so gemountete Medien jederzeit wieder unmontiert werden, so dass sie zwar technisch entfernbar bleiben, logischerweise aber nicht mehr.

Sie können dieses AppleScript als Automator-Anwendung speichern und in Ihre Startelemente aufnehmen, damit Ihre aktuelle Arbeitsumgebung zum Zeitpunkt der Anmeldung immer für Sie bereitsteht.

Es gibt jedoch eine Einschränkung : Stellen Sie sicher, dass Ihr Image immer dann bereitgestellt wird, wenn Time Machine einen Sicherungslauf startet. Wenn es nur einmal fehlt, glaubt Time Machine, dass alle darin enthaltenen Daten jetzt verschwunden sind. Wenn es das nächste Mal vorhanden ist, betrachtet Time Machine alle diese Daten als neu und erstellt eine vollständige Sicherung des gesamten Image-Inhalts. Dies kann Ihr Sicherungslaufwerk schnell füllen und somit wie Time Machine zu einem schwerwiegenden Verlust im Sicherungsverlauf führen Beginnen Sie, alte Backups zu löschen, ohne zu fragen, wann der Speicherplatz knapp wird.

Bearbeiten: Da OS X Lion FileVault 2 das externe Sicherungslaufwerk verschlüsseln kann, kann niemand mehr nur Ihre Sicherung stehlen und die unverschlüsselten Daten von dort wiederherstellen.

Olfan
quelle
Dies wurde getestet und wird in einer Lion (10.7.1) -Installation verwendet. Ich freue mich über Feedback zu Snow Leopard oder älteren OS X-Versionen.
Olfan
Dies wurde getestet und wird jetzt auch auf einer Mountain Lion (10.8.1) -Installation verwendet. Ja, es gibt jetzt FileVault 2 und ich benutze das auch. Ich möchte jedoch die Daten meiner verschiedenen Kunden in separaten Volumes haben.
Olfan
6

Ich denke, der Artikel, den Sie gefunden haben, ist für eine ältere Version von Time Machine, da ich einem neueren Handbuch gefolgt bin und bestätigen kann, dass es definitiv unter Mac OS 10.6.7 funktioniert hat. Der Hauptunterschied in den Artikeln besteht darin, dass Time Machine anscheinend nicht mehr UUIDs für Alias-Datensätze in seiner Plist-Datei verwendet.

Das habe ich getan:

  1. Stoppen Sie Time Machine in den Systemeinstellungen und beenden Sie dann die Systemeinstellungen (andernfalls können / werden Ihre manuellen Änderungen überschrieben, wenn die Systemeinstellungen schließlich beendet werden).

  2. Öffnen Sie mit Ihrem bevorzugten Plist-Editor die Zeitmaschinen-Einstellungsdatei, die Sie hier finden: /Library/Preferences/com.apple.TimeMachine.plist

    Ich empfehle, den Shareware-Editor Plistedit Pro anstelle von beispielsweise Xcode zu verwenden, da Sie damit die Originaldatei als Root speichern und ein Administratorkennwort anfordern können, anstatt dass Xcode die Datei im Benutzerbereich speichern und dann überschreiben muss die Originaldatei mit Root-Rechten über die Befehlszeile.

  3. Suchen Sie in TimeMachine.plist nach dem Knoten IncludedVolumes. Fügen Sie es als untergeordnetes Element des Stammknotens hinzu. Wenn es nicht vorhanden ist, sollte es ein Array von Datenelementen sein.

  4. Fügen Sie dem Array IncludedVolumes vom Typ Data ein neues Element mit einem Wert hinzu, der ein Aliasdatensatz des Pfads zum bereitgestellten verschlüsselten Volume ist.

    Wenn Sie Plistedit Pro verwenden, ist das Generieren des Aliasdatensatzes einfach. Sobald das neue Element als Typ festgelegt wurde Data, können Sie mit der rechten Maustaste auf das Wertefeld klicken und die View AsEigenschaft ändern Alias Record. Klicken Sie dann erneut mit der rechten Maustaste auf das Wertefeld und wählen Sie "Wert bearbeiten ...". Geben Sie dann den Pfad zum bereitgestellten Volume ein, z /Volumes/MyEncryptedVolume. Wenn Sie den Ansichtstyp wieder auf "Nur Daten" ändern, können Sie sehen, dass der Aliasdatensatz jetzt in eine Binärzeichenfolge konvertiert wird. Stellen Sie sicher, dass das verschlüsselte Volume zuvor bereitgestellt wurde, da Plistedit versucht, den Alias ​​zu überprüfen, und sich beschwert, wenn der Pfad nicht vorhanden ist.

    Xcode scheint nicht in der Lage zu sein, Alias-Datensätze im laufenden Betrieb zu generieren. Die Quelle Artikel schlägt vor , die Montage und die spärliche Bild im Finder zu öffnen , so dass es im Finder neueste Liste Ordner angezeigt wird , dann die Öffnung ~/Library/Preferences/com.apple.finder.plistDatei und den Wert aus dem FXRecentFolders/file-dataKopiertaste, die Geschwister nameElement den Namen des verschlüsselten Laufwerks entspricht.

  5. Sicherstellen , dass der Pfad zu dem verschlüsselten Volume ist auch nicht in irgendeiner der Werte in dem genannten ExcludeByPath, ExcludedVolumes, SkipPathsArrays.

  6. Schließen Sie das Sparse-Bundle von Time Machine aus, damit Sie das Volume nicht zweimal sichern. Fügen Sie den Pfad entweder zum ExcludeByPathArray oder zum SkipPathsArray hinzu. Der einzige Unterschied, den ich feststellen kann, besteht darin, dass die Elemente in SkipPaths in der Systemsteuerung von Time Machine angezeigt und auch bearbeitet werden können, während die Pfade in ExcludeByPath vollständig in der Systemsteuerung ausgeblendet sind. In beiden Fällen ignoriert TM das Verzeichnis.

  7. Speichern Sie die Datei TimeMachine.plist und stellen Sie sicher, dass die Gruppe owner: root noch admin ist

Das ist es. Schalten Sie Time Machine in den Systemeinstellungen wieder ein und Sie sollten nun den Inhalt Ihres bereitgestellten Sparse-Bundles in einem eigenen Sicherungsverzeichnis als Geschwister des Macintosh HDVerzeichnisses sehen, z/Volumes/Backup of ComputerName/Backups.backupdb/ComputerName/Latest/MyEncryptedVolume


Aber während ich dies ungefähr 3 Monate lang ausprobiert habe und es für mich funktioniert hat, konfiguriere ich Time Machine nicht mehr so, weil:

  1. Wenn ein Sparse-Bundle beim Ausführen von Time Machine nicht bereitgestellt wird, wird das Volume während dieser Sicherung verständlicherweise übersprungen. Wenn das Sparse-Bundle anschließend gemountet wird, sichert Time Machine das gesamte Volume erneut und kopiert alle Dateien als neue Dateien in die Sicherung. Es wird nicht nur ein fester Link zu Dateien erstellt, die bereits aus früheren Sicherungsordnern vorhanden sind. Dies war für mich das Problem, bei dem die Show gestoppt wurde, da nicht jedes Bild zu 100% gemountet ist.

  2. Offensichtlich ist dies eine nicht unterstützte benutzerdefinierte Konfiguration von Time Machine und kann sich daher ohne Warnung beim nächsten Software-Patch von Apple ändern. Es ist daher schwer zu erkennen, wie dieser Ansatz als zuverlässige langfristige Sicherungslösung beschrieben werden kann.

  3. Time Machine meldet während der Sicherung die falschen Dateizahlen und Dateigrößen im Konsolenprotokoll, was mich nicht mit der Gewissheit erfüllt, dass TM für diese Konfiguration ausgeschnitten ist, obwohl die Dateien auf der Time Machine korrekt gesichert angezeigt werden Lautstärke (nur eine Paranoia?)

Buxtor
quelle
Ab Lion funktioniert das nicht mehr. Alle unter / Volumes / bereitgestellten Wechselmedien werden vollständig ignoriert, unabhängig davon, wie sehr Sie versuchen, sie einzuschließen. Das neue Befehlszeilentool tmutil legt sogar einen Alias ​​und eine Volume-UUID fest, und Time Machine weigert sich dennoch, die Dateien zu sichern. Sehen Sie meine eigene Antwort für einen sicheren und einfachen Weg.
Olfan
1

Time Machine unterstützt verschlüsselte Container nur unzureichend und kann nur den gesamten Container sichern.

Dies bedeutet, dass Sie entweder eine große Backup-Festplatte kaufen müssen (eine Terabyte-Festplatte kostet heutzutage <100 US-Dollar).

... oder warten Sie, bis OS X Lion herauskommt, und hoffen Sie, dass sie die Unterstützung für verschlüsselte Volumes verbessern.

Ich gehe natürlich davon aus, dass das Speichern von Client-Daten im Klartext auf dem Sicherungslaufwerk keine Option ist.

Bandit
quelle
Es ist eine Option. Der Backup-Speicher ist gut genug geschützt, um keine Verschlüsselung zu benötigen. Sie
müssten
0

Olfan: Das ist wirklich toll. vielen Dank.

Ich habe ein wenig AppleScript geschrieben, um das Volume-Image einschließlich der Passphrase bereitzustellen:

property imagePath : "" -- preset path to image file
set path_to_resource to POSIX path of (path to resource "checkModifierKeys") -- this is the path to the command line utility to detect the modifier keys pressed
if (do shell script quoted form of path_to_resource & " option") = "1" then -- Option key is pressed
    set imagePath to ""
end if
if imagePath = "" then -- first run or Option key is pressed
    set imagePath to choose file with prompt "Image File:" -- let the user select the image file
end if
set thePass to text returned of (display dialog "Password for " & imagePath default answer "" with hidden answer) -- ask for the password
set cmd to "printf " & quoted form of thePass & " | hdiutil attach -notremovable -stdinpass " & quoted form of POSIX path of imagePath -- and set the command incliuding password
do shell script cmd with administrator privileges -- finally submit the command in supervisor mode

Sie müssen das Skript als Anwendung speichern und das Befehlszeilenprogramm "checkModifierKeys" in das Anwendungspaket aufnehmen. Sie können es von http://www.klieme.ch/pub/checkModifierKeys.zip erhalten

Hier ist meine Beschreibung des Skripts:

Dieses kleine Skript stellt ein Volume-Image im Supervisor-Modus als nicht entfernbare Festplatte bereit. Dadurch sichert Time Machine auch den Inhalt dieses Volumes. Sie sollten die Image-Datei von der Sicherung ausschließen, um ein Durcheinander Ihres Sicherungsvolumes zu vermeiden.

Wenn Sie dieses Skript zum ersten Mal ausführen, werden Sie nach der Bilddatei gefragt und bei nachfolgenden Aufrufen an diesen Speicherort erinnert. Um eine andere Bilddatei auszuwählen, führen Sie das Skript mit gedrückter Wahltaste aus.

checkModifierKeys: Stefan Klieme http://www.klieme.ch/pub/checkModifierKeys.zip

Frank-Peter Poschmann
quelle
1
Es ist nicht erforderlich, das Urheberrecht an Ihren Posts zu beanspruchen. Sie werden bereits von CC-by-SA abgedeckt .
Jonsca
Auf Ihren eigenen Macs können / sollten Sie die Passphrasen für Ihre Disk-Images in Ihrem Schlüsselbund speichern. Das Betriebssystem bietet dies beim ersten Mounten an, und hdiutil überprüft den Schlüsselbund und verwendet eine gespeicherte Passphrase, falls gefunden . Auf den Macs anderer Leute möchten Sie die Notwendigkeit einer Passphrase sicherlich nicht umgehen. Ich kann wirklich nicht sehen, was diese Lösung für mich tun würde, außer eine Sicherheitslücke anstelle einer vorhandenen und sicheren Betriebssystemfunktionalität zu schaffen.
Olfan