Come rendere TimeMachine il backup dei contenuti di qualsiasi path o volume montato

Conservo diversi tipi di dati in diverse immagini cifrate (ad esempio, uno per each cliente) che vengono automaticamente installate all'account di accesso, ma non possono essere aperte da qualcuno diverso da me stesso. Così, dopo il login ho un certo numero di volumi virtuali in /Volumes/ che mantiene i miei dati client sia sicuri e organizzati.

Come faccio a includere i dati all'interno di questi volumi virtuali nei backup di TimeMachine o dati residenti in qualsiasi path su qualsiasi partizione o volume?

Ho trovato una descrizione di soluzione promettente (post di blog non più disponibile in linea) che prevede la modifica del com.apple.TimeMachine.plist ma tutto quello che posso get TimeMachine da fare è eseguire il backup dei file sparsebundle stessi. Voglio eseguire il backup dei file all'interno dell'image montata, anche se – qualcosa di simile ad aggiungere / Volumi / Client_abc / al path di ricerca di TimeMachine.


Per favore, non redirect a questa precedente domanda in quanto non risolve affatto il problema. Ti prego, inoltre, astenermi dal dirmi perché pensi che non voglio che questa risposta non risolva nulla. Per favore non dite "non può essere fatto" a less che tu non possa tecnicamente dimostrare questa richiesta.

Ho trovato la soluzione leggendo il manuale di Time Machine e le tonnellate di post sul blog, le risposte del sito Q & A, ovunque si dice che "Time Machine non eseguirà la copia di backup dei dati su supporti rimovibili, basta vivere con esso o utilizzare strane hack".

Ma è esattamente così, ed è così evidente! Un'image montata .sparsebundle viene vista come supporti rimovibili.

Quindi tutto quello che wherete fare è montare il tuo .sparsebundle (crittografato o no, non import), o una chiavetta USB o qualsiasi altra cosa che dovrebbe apparire come back-up in Time Machine, come supporti non rimovibili.

Questo piccolo pezzo di AppleScript farà il trucco:

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

L'interruttore "-removibile" prenderà cura che l'image sia montata come non rimovibile e la frase "con privilegi di amministratore" apre un richiedente di password per montare l'image come root e non come l'account utente registrato. Ora a Time Machine il volume montato è solo un disco rigido che non sarà più ignorato. Abbastanza fiducioso, i supporti così montati possono ancora essere smontati in qualsiasi momento, così mentre rimangono tecnicamente rimovibili, logicamente non sono più.

Puoi salvare AppleScript come un'applicazione Automator e inserirla nei tuoi elementi di avvio in modo che tu possa sempre avere il tuo ambiente di lavoro corrente pronto per te al momento del login.

C'è un avvertimento , però: Assicurati che l'image sia montata each volta che Time Machine avvia un'operazione di backup. Se manca solo una volta, Time Machine crederà che tutti i dati in esso siano ormai scomparsi. Se è presente la prossima volta, Time Machine considererà tutti i dati come nuovi e fare un backup completo del contenuto dell'intera image, questo può riempire rapidamente l'unità di backup e quindi provocare una grave perdita nella cronologia di backup in quanto Time Machine inizia a cancellare vecchi backup senza chiedere quando lo spazio diventa scarso.

Modifica: dal momento che il file OS X Lion FileVault 2 può crittografare l'unità di backup esterna in modo che nessuno possa solo rubare il backup e ripristinare i dati non crittografati da lì.

Penso che l'articolo che hai trovato sia per una versione più vecchia di Time Machine perché ho seguito una guida più recente e posso confermarlo sicuramente lavorato con Mac OS 10.6.7. La principale differenza negli articoli è che Time Machine sembra aver allontanato dall'utilizzo di UUID in record Alias ​​nel suo file plist.

Questo è ciò che ho fatto:

  1. Stop Time Machine nelle Preferenze di Sistema e quindi chiudere le Preferenze di Sistema (altrimenti le modifiche manuali possono / verranno sovrascritte quando le preferenze di sistema si chiudono)

  2. Utilizzando il tuo editor preferito di plist, apri il file delle impostazioni di time machine, qui trovate: /Library/Preferences/com.apple.TimeMachine.plist

    Suggeriamo di utilizzare l'editor di shareware Plistedit Pro piuttosto che, ad esempio, Xcode perché ti permetterà di salvare il file originale come root, richiedendo una password di amministratore, anziché Xcode che ti serve di salvare il file nello spazio utente e poi hai bisogno di sovrascrivere il file originale che utilizza i privilegi di root dalla row di command.

  3. in TimeMachine.plist cercare il nodo IncludedVolumes . Aggiungerlo come figlio del nodo principale se non è presente, dovrebbe essere un arrays di elementi di dati.

  4. Aggiungere un nuovo elemento all'insieme InclusiVolumi di tipo Dati con un valore che è un record alias del path al volume crittografato montato.

    Se si utilizza Plistedit Pro la generazione del record alias è semplice. Una volta che il nuovo elemento è impostato per essere Tipo di Data è ansible fare clic con il button destro del mouse sul field valore e modificare la properties; View As per essere Alias Record . Quindi fare clic con il button destro del mouse sul field valore e scegliere 'Modifica valore …' quindi digitare il path del volume montato, ad esempio /Volumes/MyEncryptedVolume . Se si modifica il tipo di visualizzazione di nuovo su solo i dati, è ansible vedere che il record alias è ora convertito in una string binaria. Assicurarsi che il volume crittato sia montato in precedenza poiché Plistedit cercherà di validationre l'alias e si lamenterà se il path non esiste.

    Xcode non sembra avere questa capacità di generare record alias al volo. L'articolo di origine suggerisce il assembly e l'apertura dell'image scarsamente nel Finder in modo che venga visualizzata nell'elenco Recenti cartelle di Finder, quindi aprendo il file ~/Library/Preferences/com.apple.finder.plist e copiando il valore dal FXRecentFolders/file-data chiave in cui l'elemento name fratello corrisponde al nome del volume crittografato.

  5. Assicurarsi che il path al volume crittografato non venga anche menzionato in uno dei valori degli ExcludeByPath , ExcludedVolumes e SkipPaths .

  6. Escludi il pacchetto scarso da Time Machine in modo da non eseguire il backup del volume due volte. Aggiungere il path all'arrays ExcludeByPath o all'arrays SkipPaths . L'unica differenza che posso dire è che gli elementi in SkipPaths sono mostrati e modificabili anche nel pannello di controllo Time Machine, mentre i routes in ExcludeByPath sono completamente nascosti nel pannello di controllo. In entrambi i casi, TM ignorerà la directory.

  7. Salvare il file TimeMachine.plist accertandosi che il proprietario: gruppo sia ancora root: admin

Questo è tutto. Ripristinare Time Machine in Preferenze di sistema e ora dovresti vedere il contenuto del tuo bundle scarso montato nella propria directory di backup come fratello alla directory di Macintosh HD , ad esempio /Volumes/Backup of ComputerName/Backups.backupdb/ComputerName/Latest/MyEncryptedVolume


Ma infatti, mentre ho provato questo per circa 3 mesi e ha funzionato per me, non configuro Time Machine come questo più perché:

  1. Se un bundle sparso è smontato quando viene eseguita la function Time Machine, il volume viene ignorato in modo comprensibile durante il backup. Tuttavia, quando il bundle sparso viene successivamente montato, Time Machine restituirà nuovamente l'integer volume, copiando tutti i file come nuovi file nel backup, non crea solo un collegamento duro a tutti i file già esistenti da precedenti cartelle di backup. Questo è stato il problema di arresto dello spettacolo perché non ho tutte le immagini montate al 100% del tempo.

  2. Ovviamente questa è una configuration personalizzata non supportta di Time Machine e quindi può cambiare senza preavviso nella prossima patch software di Apple. Quindi è difficile capire come questo approccio possa essere descritto come una soluzione affidabile di backup a lungo termine.

  3. Time Machine riport i conteggi e le size dei file errati nel registro della console durante il backup, cosa che non mi riempie di fiducia che TM è tagliata per essere configurata in questo modo, anche se i file appaiono correttamente eseguiti correttamente sul Time Machine Volume (solo una paranoia?)

Time Machine ha scarso supporto per i contenitori crittografati e può solo eseguire il backup di tutto il contenitore.

Ciò significa che dovrai acquistare un grande disco rigido di backup (un disco di terabyte è <$ 100 al giorno d'oggi)

… o attendere che il OS X Lion esca e spera di migliorare il supporto del volume crittografato.

Suppongo, ovviamente, che la memorizzazione dei dati del client in text in chiaro sull'unità di backup non è un'opzione.

Olfan: è davvero grande; Grazie mille.

Ho scritto un po 'di AppleScript per montare l'image del volume inclusa la passphrase:

 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 

Devi salvare lo script come un'applicazione e includere l'utilità della row di command "checkModifierKeys" nel bundle dell'applicazione. Puoi get da http://www.klieme.ch/pub/checkModifierKeys.zip

Ecco la mia descrizione dello script:

Questo piccolo script support un'image di volume come un disco non rimovibile in modalità supervisore. Questo rende Time Machine anche il backup del contenuto di questo volume. Dovresti escludere il file di image dal backup per evitare il disfatto del tuo volume di backup.

La prima volta che si esegue questo script richiede il file image e ricorda quella posizione nelle chiamate successive. Per select un diverso file di image eseguire lo script con il tasto "Opzione" premuto.

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