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


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.