Duplicidade: como listar versões de um arquivo?

12

Usando o Duplicity , posso fazer um backup incremental e eficiente em um armazenamento remoto não confiável. Isso funciona bem e eu posso restaurar arquivos em um momento específico (ou no próximo backup depois disso).

Bem, agora eu quero saber quando, no histórico de todos os backups, houve uma alteração específica no arquivo . O registro de data e hora de alteração de arquivo e os registros de data e hora de backup seriam suficientes.

Alguma maneira de fazer isso com duplicidade?

EDIT: Devo esclarecer que quero ver todas as alterações / versões desse arquivo e não apenas as últimas, por exemplo, quando foi introduzido pela primeira vez, quando foi alterado. Isso pode estar em vários backups incrementais de backup.

Paulo
fonte
Eu ter apresentado uma lista de plataforma de lançamento para tal característica um, FWIW: bugs.launchpad.net/duplicity/+bug/1044715

Respostas:

5

Houve uma resposta na lista de e-mail de Edgar Soldin:

não, atualmente você pode listar todas as versões de backup. a duplicidade não informa quando eles foram alterados. no entanto, isso poderia ser implementado, pois a duplicidade internamente acompanha isso.

ede / duply.net

Portanto, em essência: agora não é possível com duplicidade de baunilha, mas os dados estão em metadados de duplicidade.

Paulo
fonte
1
Outro ponto de dados: o Deja dup se integra ao gnome e nautilus e, se você clicar com o botão direito do mouse em um arquivo "Restaurar uma versão anterior", ele exibirá todas as versões de um arquivo conhecido. Talvez você possa verificar esse código e até usá-lo.
AndreasM
Bem, o dejadup está escrito em Vala e rotula a linha de comando da duplicidade. Eu acho que o código do dejadup não filtra as alterações de um arquivo específico, mas apenas oferece todos os backups que possui, não importa se o arquivo foi alterado ou não.
AndreasM
4

SIM , é possível fazer isso obtendo uma lista de todos os arquivos em cada instantâneo obtido pela duplicidade (ou seja, o primeiro backup completo e cada incremental) e, em seguida, comparar as listas de arquivos e procurar o arquivo específico que você está interessado com.

Embora ele não mostre todas as alterações no arquivo, a menos que o arquivo seja alterado com menos frequência do que as cópias duplicadas, ele mostrará cada estado do arquivo em cada ponto de backup.

Eu escrevi um script de shell para fazer isso.

Geoff
fonte
3
Geoff, isso parece interessante! Você publicou o script? Isso parece ser um candidato óbvio para inclusão na distribuição padrão.
Paul
3

Você pode tentar despejar a lista completa de arquivos e procurar o arquivo em questão nessa lista:

duplicity list-current-files url > /path/to/file-list.txt
grep filename /path/to/file-list.txt

Este comando está mal documentado, mas cada linha do arquivo tem uma data que parece ter a hora da última modificação.

xofer
fonte
Não é o que eu pedi, mas obrigado pelo esforço!
Paul
Isso parece mostrar o carimbo de hora no inode. Não foi a última vez que a duplicidade fez o backup. Portanto, se alguém alterar um arquivo e restaurar o antigo carimbo de data / hora da modificação, essa alteração será invisível para esse método.
Peter V. Mørch
0
duplicity list-current-files --time now "${DEST}" > /tmp/today
duplicity list-current-files --time 1D "${DEST}" > /tmp/yesterday
grep -Fxvf /tmp/{today,yesterday}
joco
fonte