
Nautilus を使用して WebDAV サーバーからローカル ディスクにフォルダーをコピーしようとすると、マニフェスト ファイル (ディレクトリ リストなどの xml) と思われるものがコピーされます。cadaver を使用すると、空のファイルが生成されます。
ディレクトリ ツリー全体を再帰的にコピーできるようにしたいのですが、その方法を知っている人はいますか?
追記: 私はUbuntu 11.04、Nautilus 2.32.2.1、Cadaver 0.23.3を使用しています。
答え1
この回答は、@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
完璧ではありません (「index.html?C=M;O=D」などを大量にダウンロードしました) が、それ以外は正常に動作しました。
「-r」はリンクをたどりながら再帰的にダウンロードします。
「-np」は親ディレクトリへの上昇を防ぎます (そうしないと、Web サイト全体がダウンロードされます)。
「-nH」は、「my-host」というディレクトリ(これは望ましくない)が作成されないようにします。
「--cut-dirs=1」は、「my-webdav-dir」というディレクトリが作成されないようにします。
「--no-check-certificate」は、WebDAV サーバーで自己署名証明書を使用しているためです (https も強制しています)。
「-U Mozilla」は、http リクエストのユーザー エージェントを「Mozilla」に設定します。私の WebDAV サーバーでは実際にはこれは必要ありませんでしたが、念のため含めました。
答え2
あるいは、独自のファイル システムの一部としてアクセスされるパスとしてマウントすることもできます。
sudo mount -t davfs https://your.remote/path /your/local/mount/point
注:/your/local/mount/point
これが機能するには、実際に存在するディレクトリである必要があります。
私の知る限り、コマンドを機能させるには、次のコマンドを実行するだけで済みます:
sudo apt-get install davfs2
(さらに設定が必要な場合は申し訳ありません。私がこれを実行したのはかなり前のことです。)
(Liam の回答では情報が十分ではないと感じたので、これを回答として追加しました。)
答え3
これは古い質問だとは思いますが、私はこれをやりたいと思っていて、クローンこれはクラウド用の rsync のようなもので、WebDAV を含むさまざまなプロトコルをサポートしています。rclone config
リモートを構成するために使用し、 とrclone copy remote:path .
入力するだけですべてがダウンロードされます。 と使用することもできます。rclone sync remote:path .
これにより、ファイルのチェックが行われ、更新のみがコピーされます。これは Golang プログラムなので、非常に移植性に優れています。
答え4
dav2fs を使用して WebDAV サーバーをマウントすると、ローカル ディレクトリと同じようにアクセスできるようになります。