Como fazer com que o TimeMachine faça o backup do conteúdo de qualquer caminho ou volume montado

7

Mantenho diferentes tipos de dados em diferentes imagens sparsebundle criptografadas (digamos, uma para cada cliente) que são montadas automaticamente no login, mas não podem ser abertas por ninguém além de mim. Então, após o login, eu tenho um número de volumes virtuais em /Volumes/ , o que mantém os dados dos meus clientes seguros e organizados.

Como incluo dados dentro desses volumes virtuais em backups da TimeMachine , ou dados que residem em qualquer caminho em qualquer partição / volume?

Eu encontrei uma descrição de solução promissora (postagem de blog não mais disponível on-line) envolvendo a edição do com.apple.TimeMachine.plist , mas tudo o que posso fazer com o TimeMachine é fazer o backup dos próprios arquivos sparsebundle. Eu quero fazer backup dos arquivos dentro da imagem montada - algo como adicionar / Volumes / Client_abc / ao caminho de pesquisa do TimeMachine.

Por favor, não redirecione o meu para esta pergunta anterior porque não resolve o problema. Por favor, também evite me dizer por que você acha que eu não deveria querer essa resposta, pois isso também não resolverá nada. Por favor, por último, não diga "isso não pode ser feito", a menos que você possa provar tecnicamente essa afirmação.

    
por Olfan 18.05.2011 / 15:24

4 respostas

8

Encontrei a solução lendo o manual do Time Machine e muitos posts no blog, o site da Q & A responde etc. Em todos os lugares, ele diz: "O Time Machine não faz backup de dados em mídia removível, apenas conviva com ele ou usa hacks. ".

Mas é exatamente isso e é tão óbvio! Uma imagem de .sparsebundle montada é vista como mídia removível.

Então tudo que você precisa fazer é montar o seu .sparsebundle (criptografado ou não, não importa), ou um dispositivo USB ou o que quer que apareça no backup do Time Machine, como mídia não removível.

Este pequeno pedaço de AppleScript fará o truque:

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

A opção "-não removível" cuidará que a imagem seja montada como não removível, e a frase "com privilégios de administrador" mostrará um solicitante de senha para montar a imagem como raiz e não como sua conta de usuário conectada. Agora, para o Time Machine, seu volume montado é apenas um disco rígido que não será mais ignorado. Curiosamente, assim, a mídia montada ainda pode ser desmontada a qualquer momento, então, embora tecnicamente permaneçam removíveis, logicamente não são mais.

Você pode salvar esse AppleScript como um aplicativo Automator e incluí-lo em seus itens de inicialização para que sempre tenha seu ambiente de trabalho atual pronto para você no momento do login.

Há uma ressalva : Verifique se a imagem está montada sempre que o Time Machine inicia uma execução de backup. Se estiver faltando apenas uma vez, a Time Machine acreditará que todos os dados estão desaparecidos. Se estiver presente da próxima vez, o Time Machine considerará todos os dados como novos e fará um backup completo do conteúdo da imagem inteira - isso pode rapidamente preencher sua unidade de backup e levar a uma perda grave no histórico de backup, comece a apagar backups antigos sem perguntar quando o espaço se torna escasso.

Editar: Como o OS X Lion FileVault 2 pode criptografam a unidade de backup externa para que ninguém possa roubar seu backup e restaurar os dados não criptografados de lá.

    
por 27.09.2011 / 10:07
6

Eu acho que o artigo que você encontrou é para uma versão mais antiga do Time Machine, porque eu segui um mais recente guia e posso confirmar que funcionou definitivamente com o Mac OS 10.6.7. A principal diferença nos artigos é que o Time Machine parece ter se afastado do uso de UUIDs para os registros do Alias em seu arquivo plist.

Isso é o que eu fiz:

  1. Pare o Time Machine nas Preferências do Sistema e, em seguida, saia das Preferências do Sistema (caso contrário, suas edições manuais poderão / serão substituídas quando as Preferências do Sistema forem encerradas)

  2. Usando seu editor de plistes favorito, abra o arquivo de configurações da máquina do tempo, encontrado aqui: /Library/Preferences/com.apple.TimeMachine.plist

    Eu recomendo usar o editor de shareware Plistedit Pro em vez de, digamos, Xcode porque ele permitirá que você salve o arquivo original como root, solicitando uma senha de administrador, em vez do Xcode precisar que você salve o arquivo no espaço do usuário e então você precisa substituir o arquivo original usando privilégios de root da linha de comando.

  3. no TimeMachine.plist procure o nó IncludedVolumes . Adicione-o como um filho do nó raiz, se não estiver lá, deve ser um array de itens de dados.

  4. Adicione um novo item à matriz IncludedVolumes do tipo Data com um valor que seja um registro de alias do caminho para o volume criptografado montado.

    Se você usar o Plistedit Pro, a geração do registro de alias será fácil. Quando o novo item estiver definido como tipo Data , você poderá clicar com o botão direito do mouse no campo de valor e alterar a propriedade View As para Alias Record . Em seguida, clique com o botão direito do mouse no campo de valor novamente e escolha "Editar valor ..." e digite o caminho para o volume montado, por exemplo, %código%. Se você alterar o tipo de visualização de volta para apenas Data, poderá ver que o registro de alias agora é convertido em uma string binária. Assegure-se de que o volume criptografado seja montado com antecedência, pois Plistedit tentará validar o alias e reclamará se o caminho não existir.

    O Xcode não parece ter essa capacidade de gerar registros de alias na hora. O artigo source sugere a montagem e a abertura da imagem esparsa no Finder para que apareça Na lista Pastas Recentes do Finder, abrindo o arquivo /Volumes/MyEncryptedVolume e copiando o valor da chave ~/Library/Preferences/com.apple.finder.plist , onde o item FXRecentFolders/file-data do irmão corresponde ao nome do volume criptografado.

  5. Verifique se o caminho para o volume criptografado também não é mencionado em nenhum dos valores nas matrizes name , ExcludeByPath , ExcludedVolumes .

  6. Exclua o pacote esparso do Time Machine para que você não faça backup do volume duas vezes. Adicione o caminho à matriz SkipPaths ou à matriz ExcludeByPath . A única diferença que posso dizer é que os itens em SkipPaths são mostrados & também editável no painel de controle do Time Machine, enquanto os caminhos em ExcludeByPath estão completamente ocultos no painel de controle. De qualquer forma, a TM ignorará o diretório.

  7. Salve o arquivo TimeMachine.plist, garantindo que o proprietário: group ainda seja root: admin

É isso. Ative novamente o Time Machine nas Preferências do Sistema e você deverá ver agora o conteúdo do seu pacote esparso montado em seu próprio diretório de backup como um irmão para o diretório SkipPaths , por exemplo, Macintosh HD

Mas, na verdade, enquanto eu testei isso por cerca de 3 meses e funcionou para mim, eu não configuro o Time Machine mais assim porque:

  1. Se um bundle esparso for desmontado quando o Time Machine for executado, o volume é compreensivelmente ignorado durante o backup. No entanto, quando o pacote esparso é montado subseqüentemente, o Time Machine fará backup do volume inteiro novamente, copiando todos os arquivos como novos arquivos para o backup, ele não cria apenas um link físico para os arquivos já existentes nas pastas de backup anteriores. Esse foi o problema de parada de shows para mim, pois não tenho todas as imagens montadas 100% do tempo.

  2. Obviamente, essa é uma configuração personalizada não suportada do Time Machine e, portanto, pode ser alterada sem aviso no próximo patch de software da Apple. Portanto, é difícil ver como essa abordagem pode ser descrita como uma solução confiável de backup de longo prazo.

  3. O Time Machine relata as contagens de arquivos e tamanhos de arquivo incorretos no log do console durante o backup, o que não me enche de confiança de que a TM é cortada para ser configurada dessa maneira, embora os arquivos apareçam corretamente no Volume do Time Machine (apenas uma paranóia?)

por 29.05.2011 / 07:46
1

O Time Machine tem um suporte insatisfatório para contêineres criptografados e só pode fazer o backup de todo o contêiner.

Isso significa que você terá que comprar um disco rígido de backup grande (um disco de terabyte é < $ 100 atualmente)

... ou espere até que o OS X Lion seja lançado e espere que eles melhorem o suporte ao volume criptografado.

Estou assumindo, é claro, que armazenar dados do cliente em texto não criptografado na unidade de backup não é uma opção.

    
por 23.05.2011 / 14:42
0

Olfan: Isso é realmente ótimo; muito obrigado.

Eu escrevi um pequeno AppleScript para montar a imagem do volume, incluindo a frase secreta:

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

Você precisa salvar o script como um aplicativo e incluir o utilitário de linha de comando "checkModifierKeys" no pacote de aplicativos. Você pode obtê-lo no link

Aqui está minha descrição do script:

Este pequeno script monta uma imagem de volume como um disco não removível no modo de supervisor. Isso torna o backup do Time Machine o conteúdo desse volume também. Você deve excluir o arquivo de imagem do backup para evitar sobrecarregar seu volume de backup.

A primeira vez que você executa este script, solicita o arquivo de imagem e lembra-se desse local nas chamadas subsequentes. Para selecionar um arquivo de imagem diferente, execute o script com a tecla "Option" pressionada.

checkModifierKeys: Stefan Klieme link

    
por 11.10.2012 / 11:31