Duplicità: come elencare le versioni di un file?


12

Utilizzando Duplicity I è possibile eseguire un backup incrementale ed efficiente su un archivio remoto non attendibile. Funziona bene e posso ripristinare i file in un determinato momento (o dopo il backup successivo).

Bene, ora voglio sapere quando nella cronologia di tutti i backup è stata apportata una modifica specifica al file . Il timestamp di modifica file e le dimensioni insieme ai timestamp di backup sarebbero sufficienti.

Qualche modo per farlo con doppiezza?

EDIT: dovrei chiarire che voglio vedere ogni modifica / versione di quel file e non solo l'ultimo, ad esempio quando è stato introdotto per la prima volta, quando è stato modificato. Ciò potrebbe avvenire in più backup incrementali.


Ho presentato una wishlist al launchpad per tale funzione, FWIW: bugs.launchpad.net/duplicity/+bug/1044715

Risposte:



5

C'era una risposta sulla mailing list di Edgar Soldin:

no, al momento puoi elencare tutte le versioni di cui è stato eseguito il backup. la duplicità non ti dirà quando sono stati cambiati. ciò potrebbe tuttavia essere implementato poiché la duplicità ne tiene traccia internamente.

ede / duply.net

Quindi, in sostanza: non è possibile ora con la duplicità vaniglia, ma i dati sono in metadati di duplicità.


1
Un altro punto dati: Deja dup si integra con gnome e nautilus e se si fa clic con il tasto destro del mouse su un file "Ripristina una versione precedente", visualizza tutte le versioni di un file di cui è a conoscenza. Forse puoi controllare questo codice e persino usarlo.
AndreasM,

Bene dejadup è scritto in Vala e scrive la riga di comando della duplicità. Penso che il codice di dejadup non filtra le modifiche di un file specifico ma offre solo tutti i backup che ha, indipendentemente dal fatto che il file sia cambiato o meno.
AndreasM,

4

, è possibile farlo ottenendo un elenco di tutti i file in ciascuna delle istantanee eseguite dalla duplicità (ovvero il primo backup completo e ogni incrementale) e quindi confrontare gli elenchi di file e cercare il file specifico di cui si è interessati con.

Sebbene non mostrerà tutte le modifiche al file a meno che il file non cambi meno frequentemente di quanto non si facciano copie duplicate, mostrerà ogni stato del file in ciascun punto di backup.

Ho scritto uno script di shell per farlo.


3
Geoff, sembra interessante! Hai pubblicato la sceneggiatura? Sembra essere un candidato ovvio per l'inclusione nella distribuzione standard.
Paul

3

Potresti provare a scaricare l'elenco completo dei file, quindi cercare nell'elenco i file in questione:

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

Questo comando è scarsamente documentato, ma ogni riga nel file ha una data che sembra essere l'ora dell'ultima modifica.


Non quello che ho chiesto, ma grazie per lo sforzo!
Paul

Questo sembra mostrare il timestamp nell'inode. Non l'ultima volta è stato eseguito il backup della duplicità. Quindi, se qualcuno modifica un file e ripristina il vecchio timestamp di modifica, tale modifica sarà invisibile a questo metodo.
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}
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.