Подвійність: Як перелічити версії файлу?


12

Використовуючи Duplicity, я можу зробити додаткове, ефективне резервне копіювання у ненадійне віддалене сховище. Це прекрасно працює, і я можу відновити файли в певний момент часу (або наступного резервного копіювання після цього).

Ну а зараз я хочу знати, коли в історії всіх резервних копій була зміна конкретного файлу . Замітка файлу та розмір файлу разом із часовими позначками резервного копіювання буде достатнім.

Будь-який спосіб зробити це з подвійністю?

EDIT: Я повинен уточнити, що я хочу бачити кожну зміну / версію цього файлу, а не лише останню, наприклад, коли вона була введена вперше, коли вона була змінена. Це може бути декілька додаткових резервних копій.


Я зареєстрував список бажань для запуску такої функції, FWIW: bugs.launchpad.net/duplicity/+bug/1044715

Відповіді:



5

У списку розсилки Едгара Солдіна була відповідь:

ні, ви можете перелічити всі резервні версії. подвійність не скаже вам, коли вони були змінені. це, однак, може бути реалізовано, оскільки подвійність внутрішньо відстежує це.

ede / duply.net

Отже, по суті: зараз неможливо з подвійністю ванілі, але дані містяться у метаданих подвійності.


1
Ще один момент даних: Deja dup інтегрується з gnome та nautilus, і якщо ви клацніть правою кнопкою миші на файл "Відновити попередню версію", він відображає всі версії файлу, про який він знає. Можливо, ви можете перевірити цей код і навіть використовувати його.
AndreasM

Добре дежадуп написаний у Валі та сценаріїв командного рядка дублювання. Я думаю, що код dejadup не фільтрує за змінами певного файлу, а просто пропонує всі резервні копії, які він має, незалежно від того, змінився файл чи ні.
AndreasM

4

ТАК , це можна зробити, отримавши список усіх файлів у кожному з знімків, на які потрібно скопіювати подвійність (тобто першу повну резервну копію та кожну інкрементальну), а потім порівняти списки файлів та шукати конкретний файл, який вас цікавить з.

Хоча він не відображатиме кожної зміни у файлі, якщо файл не змінюється рідше, ніж ви робите копії копій, він відображатиме кожен стан файлу у кожній точці резервного копіювання.

Я написав сценарій оболонки для цього.


3
Джефф, це звучить цікаво! Ви опублікували сценарій? Це, мабуть, є очевидним кандидатом для включення до стандартної дистрибуції.
Павло

3

Ви можете спробувати скинути повний список файлів, а потім здійснити пошук у цьому списку для відповідного файлу:

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

Ця команда погано задокументована, але кожен рядок у файлі має дату, яка, здається, остання змінена час.


Не те, про що я просив, але дякую за старання!
Павло

Це відображається, щоб відобразити позначку часу в inode. Не в останній раз дублікали це резервне копіювання. Отже, якщо хтось змінить файл і відновить стару модифікацію-часову позначку, ця зміна буде невидимою для цього методу.
Пітер В. Морч

0
duplicity list-current-files --time now "${DEST}" > /tmp/today
duplicity list-current-files --time 1D "${DEST}" > /tmp/yesterday
grep -Fxvf /tmp/{today,yesterday}
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.