如何递归复制/下载整个 webdav 目录?

dre*_*cko 9 nautilus 11.04 webdav

当我尝试使用 Nautilus 将文件夹从 webdav 服务器复制到本地磁盘时,它复制了一个清单文件(带有目录列表的 xml 等)。用尸体我得到一个空文件。

我希望能够递归复制整个目录树。有谁知道我怎么能做到这一点?

ps:我使用 Ubuntu 11.04 和 Nautilus 2.32.2.1 和 Cadaver 0.23.3

Jas*_*onS 6

或者,您可以将其安装为可作为您自己的文件系统的一部分进行访问的路径。

sudo mount -t davfs https://your.remote/path /your/local/mount/point
Run Code Online (Sandbox Code Playgroud)

注意:/your/local/mount/point必须是真实存在的目录才能工作。

据我所知,您只需要运行以下命令即可使命令正常工作:( sudo apt-get install davfs2如果需要更多配置,我很抱歉,我很久以前就这样做了。)

(我将其添加为答案,因为我觉得利亚姆的答案没有提供足够的信息。)

  • @Equidamoid 挂载文件系统需要 root 访问权限,因为在某些情况下它可以允许您绕过本地 UNIX 权限。 (2认同)

dre*_*cko 5

这个答案总结了@Ocaso 和@Rinzwind 在评论中给出的建议。

我用过这个:

wget -r -nH -np --cut-dirs=1 --no-check-certificate -U Mozilla --user={uname} 
    --password={pwd} https://my-host/my-webdav-dir/my-dir-in-webdav
Run Code Online (Sandbox Code Playgroud)

不完美(下载了很多 'index.html?C=M;O=D' 等),但其他方面还可以。

“-r”按照链接递归下载。

“-np”防止上升到父目录(否则你下载整个网站!)。

“-nH”阻止创建一个名为“my-host”的目录(我不想要)。

“--cut-dirs=1”阻止创建名为“my-webdav-dir”的目录。

“--no-check-certificate”是因为我在 webdav 服务器上使用自签名证书(我也强制使用 https)。

“-U Mozilla”将 http 请求中的用户代理设置为“Mozilla”——我的 webdav 服务器实际上并不需要这个,但我已经包含了它。