
Quando tento copiar uma pasta de um servidor webdav para um disco local usando o Nautilus, ele copia o que parece ser um arquivo de manifesto (xml com a listagem de diretórios, etc.). Com cadáver recebo um arquivo vazio.
Gostaria de poder copiar recursivamente uma árvore de diretórios inteira. Alguém sabe como posso fazer isso?
ps: estou usando Ubuntu 11.04 com Nautilus 2.32.2.1 e Cadaver 0.23.3
Responder1
Esta resposta resume as sugestões dadas nos comentários de @Ocaso e @Rinzwind.
Eu usei isso:
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
Não é perfeito (baixei muitos 'index.html?C=M;O=D' e similares), mas funcionou bem.
O "-r" é baixado recursivamente, seguindo links.
O "-np" impede a subida aos diretórios pais (caso contrário você baixa o site inteiro!).
O "-nH" impede a criação de um diretório chamado "my-host" (o que eu não queria).
O "--cut-dirs=1" impede a criação de um diretório chamado "my-webdav-dir".
O "--no-check-certificate" ocorre porque estou usando um certificado autoassinado no servidor webdav (também estou forçando https).
O "-U Mozilla" define o agente do usuário na solicitação http como "Mozilla" - meu servidor webdav realmente não precisava disso, mas eu o incluí mesmo assim.
Responder2
Alternativamente, você pode montá-lo como um caminho para ser acessado como parte do seu próprio sistema de arquivos.
sudo mount -t davfs https://your.remote/path /your/local/mount/point
Nota: /your/local/mount/point
deve haver um diretório real existente para que isso funcione.
Pelo que eu sei, você só precisa executar o seguinte para que o comando funcione:
sudo apt-get install davfs2
(Se for necessária mais configuração, peço desculpas, já faz muito tempo que fiz isso.)
(Adicionei isso como resposta porque sinto que a resposta de Liam não forneceu informações suficientes.)
Responder3
Sei que esta é uma pergunta antiga, mas eu estava querendo fazer isso e encontreicloneque é como o rsync para a nuvem e suporta vários protocolos diferentes, incluindo WebDAV. Você usa rclone config
para configurar um controle remoto e depois é só fazer rclone copy remote:path .
e o int irá baixar tudo. Você também pode usar rclone sync remote:path .
e fará a verificação dos arquivos e apenas copiará as atualizações. É um programa golang, por isso é muito portátil.
Responder4
Você pode usar dav2fs para montar o servidor webdav e então acessá-lo como faria com um diretório local.