Eu gostaria que o rsnapshot não criasse uma segunda cópia de todos os meus arquivos e, em vez disso, tivesse apenas hardlinks para os arquivos originais e salvasse apenas uma cópia das alterações.
Eu tenho um servidor windows e linux. Eu gostaria de ter backups do meu sistema Linux armazenados no sistema Windows. No entanto, também gostaria de ter instantâneos disponíveis para os usuários.
Estou executando o rsnapshot no linux para obter instantâneos. Não consigo colocar a raiz do instantâneo no Windows, pois não posso preservar os atributos do arquivo em um sistema de arquivos diferente; portanto, o instantâneo reside no Linux. Isso significa que agora meus arquivos estão usando o dobro do espaço (original e instantâneo)
Como um instantâneo não é um backup, crio um backup compactando meus arquivos e enviando o arquivo zip para o Windows.
O problema é que, como estou criando um backup separado, não preciso manter duas cópias do mesmo arquivo no Linux. Portanto, gostaria que o rsnapshot não criasse uma segunda cópia de todos os meus arquivos e, em vez disso, tivesse apenas hardlinks para os arquivos originais.
Posso simplesmente criar manualmente a primeira pasta reter/intervalo com todos os hardlinks? (cp-al)
A maneira como o rsnapshot funciona, na primeira execução, ele cria uma cópia completa.
Nas próximas, armazena apenas os arquivos que foram alterados. Se um arquivo não foi alterado, ele cria um link físico para ele.
Sim. Você tem os arquivos de trabalho e instantâneos.
Se o que você deseja é que o rsnapshot não copie a árvore inteira na primeira execução, o problema é que, como é o mesmo arquivo, ele não consegue detectar as alterações.
Essa é a lógica básica.
Se RFILE_A1 for um hardlink para FILE_A, o problema é que qualquer alteração em FILE_A não pode ser detectada, pois os dados subjacentes são os mesmos.
A explicação simples é: um Hardlink é um nome. Ele aponta para dados no disco. Portanto, quando você cria um hardlink extra, está reutilizando os dados do disco. Portanto, as alterações não podem ser detectadas.
Resposta curta (TL;DR), você não pode. Você precisa dessa primeira cópia completa.
Outra opção pode ser usar algo como o Git.