Usando links físicos NTFS para combinar backups completos / diferenciais

17

Breve: É possível (robo) copiar uma árvore de diretórios usando links físicos em vez de cópia física?

Quero fazer um backup diário dos meus arquivos de dados, todos os dias em seu próprio diretório. Agora, a maioria dos arquivos não muda todos os dias, então minha ideia para acelerar o backup e usar menos espaço em disco foi copiar o backup de (dia 1) para (dia) usando links físicos e, em seguida, usar robocopy para substituir os arquivos que possuem mudou desde ontem. Dessa forma, eu precisaria copiar o backup completo apenas uma vez para a unidade USB, depois poderia copiar as alterações e ainda ter diretórios contendo todos os arquivos, compartilhando arquivos com outros backups usando links físicos. Dessa maneira, obtive dois backups completos, mas ele usa apenas espaço para um + diferencial, e os arquivos de backup são acessíveis sem a necessidade de software especial, o que é uma grande vantagem para mim.

Isso é possível?
Existe um programa para criar cópias de links físicos de todos os arquivos em uma árvore de diretórios?
Estou perdendo alguma armadilha que não estou ciente?

Sam
fonte
Isso pode ser feito como encontrado aqui: blog.mutable.net/post/2007/01/17/…
Bryan

Respostas:

9

Existe uma maneira de fazer backups como você diz, mas não acredito apenas no Robocopy.

Existem vários programas que vincularão ou desduplicarão os backups e terão economia de espaço.

Aqui estão alguns programas que eu usei ou encontrei:

Acredito que o que pode ser um bom ajuste para suas perguntas é o Dupemerge. Você pode fazer com que um arquivo em lote execute o Robocopy para copiar o conteúdo para um diretório (por exemplo, d: \ backups \ YYYY-MM-DD). Quando esse comando é concluído, o arquivo em lotes pode chamar Dupemerge em d: \ backups. Isso vincularia os arquivos dentro e entre todos os subdiretórios de d: \ backups.

A desvantagem disso é que você precisaria de espaço suficiente no externo para manter o backup vinculado não criado recém-criado. Após a execução do Dupemerge, o backup recém-criado será vinculado por hardware e o espaço será liberado.

Isso facilitaria a restauração, pois cada diretório datado parece ter um backup completo.

Como observação, se você usar links físicos, eu gosto da Extensão do Link Shell . Isso ajuda você a saber o que não está vinculado, o que é e a que está vinculado.

Encontrei outros programas de desdobramento ou link físico, mas gostei muito deles.

Scott McClenning
fonte
5
+1 Por ter um resumo decente e mencionar a LSE. No entanto, você esqueceu a ferramenta única que fornece ao OP quase exatamente o que ele deseja: ln.exeo Delorean Copy de ln.exe é escrito pela mesma pessoa que escreve o Dupemerge e o LSE. Tudo o que falta é suporte ao VSS e ... olha! Aqui vamos nós! ;-)
afrazier 15/12/11
@afrazier boa ligação com a Delorean Copy. Parece que o Delorean Copy tem alguns bons recursos, também que o site é bom para informações sobre links NTFS, eu deveria ler mais. Estou surpreso com o limite de 1023 links no Delorean Copy, no entanto, provavelmente não é um problema para a maioria. O Dupemerge vinculará a outro arquivo em 1022 links. Eu acho que a maneira como a Cópia Deloriana funciona, vincular a um arquivo não-fonte não seria desejável? Vou ter que ler mais sobre isso. Ótima sugestão.
Scott McClenning
2
O limite de link 1023 é uma limitação NTFS - o atributo do contador de link da entrada de diretório é de apenas 10 bits.
afrazier
Ótimo resumo de opções. Infelizmente, sua recomendação não atende à solicitação do pôster original de apenas copiar arquivos alterados em cada backup subsequente. Parece que ln.exeé uma aposta melhor.
Simon East
Há também a Link Shell Extension , dos mesmos fabricantes, ln.exeque fornece uma maneira simples de fazer esse tipo de backup usando o mouse no Windows Explorer. Ele também cria diretórios com timestamp para você durante o processo de backup.
Simon East
1

O BackupAssist permite exatamente o que você precisa. Seu uso de hardlinks é denominado "Armazenamento de Instância Única", mas na verdade são links físicos ocultos. Ele pode ser usado, entre outras coisas, para fazer backup em unidades USB da maneira solicitada ou em locais remotos usando o rsync.

Zlika
fonte
1

Escrevemos nossa própria ferramenta para esse tipo de trabalho. É chamado ntfs-hardlink-backup: https://github.com/International-Nepal-Fellowship/Windows-Tools/tree/master/ntfs-hardlink-backup

Para criar os hardlinks, usa a ferramenta ln de Hermann Schinagl: http://schinagl.priv.at/nt/ln/ln.html

Então você também pode usar o ln diretamente. É muito poderoso

INDIVIDUAL-IT
fonte
Cite as partes essenciais da resposta nos links de referência, pois a resposta pode se tornar inválida se as páginas vinculadas forem alteradas.
DavidPostill
-3

Há uma falha na sua lógica em primeiro lugar.

Se você criar links físicos, como isso pode ser chamado de backup? Uma vez que seu arquivo é excluído / corrompido, seu chamado backup também funciona. Todos os requisitos que você especificou geralmente são cobertos pelo software de backup atual.

PS: NTFS não suporta links físicos AFAK.

anilmwr
fonte
3
Desculpe, minha descrição não foi clara o suficiente: eu crio uma cópia completa usando robocopy em uma unidade USB externa. No dia seguinte, crio uma cópia do link físico e substituo todos os arquivos que foram alterados desde ontem. Agora, tenho duas cópias completas no meu drive USB, mas com o custo de espaço de um diferencial + um total.
Sam
4
Ah, e é claro que o NTFS suporta links físicos.
Sam
11
A técnica que você descreve é ​​exatamente o que rsnapshot(parece estar desativado no ATM) implementa no sistema operacional Unixoid. Definitivamente, é possível e funciona muito bem. Infelizmente para você rsnapshotnão é executado no Windows (é por isso que escrevo isso apenas como um comentário). Mas o FAQ menciona algo sobre a sincronização remota de clientes Windows. Se você tem máquinas Unixoid por perto, talvez isso funcione para você. Não conheço nenhum equivalente do Windows rsnapshot.
Daniel Böhmer
Não vejo nenhum ganho criando links físicos para arquivos inalterados. Os softwares de backup fazem backup com base no bit de arquivamento. Você deve apenas copiar os arquivos que foram modificados desde o último backup. Além disso, tive a impressão de que APENAS os sistemas de arquivos Unix suportam links físicos. Agradecemos por notificá-lo!
Anilmwr
@Halo Pensei que já deveria ser usado em muitos lugares. Pena que eu não tenho computadores Unix por perto, então terei que esperar por alguém que saiba sobre isso no Windows. Obrigado pelo alerta!
Sam