Как восстановить папки в исходное место, используя двойственность?


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флага работает. Я удивляюсь, почему страница руководства не описывает это поведение для этой restoreопции. Это избавляет меня от необходимости в rsyncдругом месте. Благодарность!
Переполнение вопроса

Обратите внимание, что даже с --forceфлагом Duplicity НЕ удалит файлы /, которых нет в резервной копии. Протестировано в Ubuntu 18.04LTS + Duplicity 0.7.17
Берни
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.