Як відновити папки до їх початкового місця за допомогою подвійності?


11

Після виконання резервної копії пари каталогів:

# duplicity\
 --exclude /home/user/Documents/test1/file\
 --include /home/user/Documents/test1\
 --include /tmp/test2\
 --exclude '**'\
 / file:///home/user/Backup

Я хотів перевірити, як працює відновлення, видаливши резервні копії каталогів:

# rm -rf /home/user/Documents/test1 /tmp/test2

А потім, відновивши резервну копію,

# duplicity file:///home/user/Backup /

Але я отримав помилку,

Restore destination directory / already exists.
Will not overwrite.

Отже, виявляється, що я не можу відновити початкове місце призначення, не видаливши кореневу папку, навіть якщо призначення цих включених папок уже очищено.

Чи є кращий спосіб, ніж відновити його в інше місце, а потім переміщувати кожну папку по черзі?

# duplicity --file-to-restore home/user/Documents/test1 file:///home/user/Backup /home/user/Restore1
# mv /home/user/Restore1/home/user/Documents/test1 /home/user/Documents/test1
# duplicity --file-to-restore tmp/test2 file:///home/user/Backup /home/user/Restore2
# mv /home/user/Restore2/tmp/test2 /tmp/test2

Відповіді:


13

Це дуже просто - використовуйте прапор --force.

duplicity --force file:///home/user/Backup /

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


Дійсно, встановлення --forceпрапора працює. Цікаво, чому сторінка "man" не документально підтверджує цю поведінку restore. Це заощаджує мені додатковий крок до того, щоб перейти rsyncз іншого місця. Спасибі!
Переповнення запитань

Зверніть увагу, що навіть за допомогою --forceпрапорця, Duplicity НЕ видалить файли /, які відсутні в резервній копії. Тестовано в Ubuntu 18.04LTS + Duplicity 0.7.17
bernie
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.