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

Que*_*low 11 backup restore duplicity

在对几个目录执行备份后,如下所示:

# duplicity\
 --exclude /home/user/Documents/test1/file\
 --include /home/user/Documents/test1\
 --include /tmp/test2\
 --exclude '**'\
 / file:///home/user/Backup
Run Code Online (Sandbox Code Playgroud)

我想通过删除备份的目录来测试恢复的工作方式:

# rm -rf /home/user/Documents/test1 /tmp/test2
Run Code Online (Sandbox Code Playgroud)

然后,恢复备份,

# duplicity file:///home/user/Backup /
Run Code Online (Sandbox Code Playgroud)

但我得到了错误,

Restore destination directory / already exists.
Will not overwrite.
Run Code Online (Sandbox Code Playgroud)

因此,即使这些包含文件夹的目的地已被清除,我似乎无法在不清空根文件夹的情况下恢复到原始目的地。

有没有比将其恢复到另一个位置然后一个一个地移动每个文件夹更好的方法?

# 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
Run Code Online (Sandbox Code Playgroud)

小智 15

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

duplicity --force file:///home/user/Backup /
Run Code Online (Sandbox Code Playgroud)

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