如何使用重复性将文件夹还原到其原始目的地?


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

Answers:


13

这真的很容易-使用--force标志。

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

这可能不仅将丢失的文件还原到已备份的目录中,而且还将替换较新版本的已备份文件(如果存在),但是总比没有好。


确实,设置--force标志有效。我不知道为什么手册页没有记录此restore选项的行为。它为我省去了rsync从另一个位置去的额外步骤。谢谢!
问题溢出

请注意,即使带有该--force标志,Duplicity也不会删除备份中/不存在的文件。在Ubuntu 18.04LTS + Duplicity 0.7.17中进行了测试
伯尼
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.