是否可以将远程目录备份到本地路径?
在命令中使用两个 URL 会引发
Two URLs specified. One argument should be a path.
仅使用一个遥控器,但指定full
选项会引发
--full option cannot be used when restoring or verifying
我尝试过
duplicity full ssh://username@remote:XXXX/home/username /media/removabledrive/
其中 XXXX 是 ssh 的自定义端口。
答案1
为什么不直接使用 sshfs、cifs、nfs 或者您选择的其他工具将远程路径挂载到本地文件系统树中呢?
如果你这样做,你可以为 duplicity 指定两个本地路径,它不应该注意到其中一个路径实际上位于远程节点上(确保你选择以你想要的方式导出权限等属性的远程文件系统,同时确保使用正确的挂载选项 - 这对于 samba/cifs 尤其重要,因为它的默认值不是很 unix-ish)。
对于 Debian 或 Debian 衍生产品(例如 Ubuntu):
apt-get 安装 sshfs
然后:
mkdir -p /mnt/remote && sshfs 用户名@remote:/home/用户名 /mnt/remote
成功后,从备份/mnt/remote
到本地备份路径,然后
卸载/mnt/remote
还请检查man sshfs
哪些选项可能适用于您的用例。
答案2
Duplicity 不支持远程源,因此如果没有@blubberdiblub 所建议的技巧就无法做到这一点。
当我发现这个问题时,我感到很失望,尽管他们并没有将此称为问题:https://answers.launchpad.net/duplicity/+question/143932
答案3
据我所知,提供远程路径后跟本地路径会强制恢复数据,默认情况下应该是完整恢复。
“full”参数仅对进行备份有效:
full Indicate full backup. If this is set, perform full backup even
if signatures are available.
incr If this is requested an incremental backup will be performed.
Duplicity will abort if old signatures cannot be found. The
default is to switch to full backup under these conditions.
因此此命令:将对 /home/me 进行完整备份到远程主机/some_dir。Full/incr 仅适用于进行备份,不适用于恢复。duplicity full /home/me scp://[email protected]/some_dir
如果您只想恢复某个路径,那么使用:
--file-to-restore path 该选项可以在恢复模式下给出,导致只恢复路径而不是备份档案的全部内容。路径应该相对于备份目录的根目录给出。
根据此处的文档:http://manpages.ubuntu.com/manpages/oneiric/man1/duplicity.1.html,发生的事情是:
恢复时,duplicity 按顺序应用补丁,因此删除(例如)完整备份集可能会导致相关的增量备份集无法使用。
另外,最后要说一下“ssh://”部分。尝试使用 scp/sftp,根据文档:
关于 SSH/SCP 协议的说明
Duplicity specifies two protocol names for the same protocol. This is
a known and user-confusing issue. Both use the same protocol suite,
namely ssh through its' utility routines scp and sftp. Older versions
of duplicity used scp for get and put operations and sftp for list and
delete operations. The current version uses sftp for all four
supported operations, unless the --use-scp option is used to revert to
old behavior. The change was made to all-sftp in order to allow the
remote system to chroot the backup, thus providing better security.
答案4
查看此处的文档:http://duplicity.nongnu.org/docs.html 看起来你应该发出这个:
duplicity full ssh://username@remote:XXXX//home/username /media/removabledrive/
注意 host:port 后面的双 //