Download do diretório WebDav inteiro

2

Antes de perguntar isso, vi Como faço para recursivamente copiar / baixar um diretório webdav inteiro? mas ele não respondeu minhas perguntas

Quando executo o comando, ele faz o download do robots.txt e da primeira página. Esta página é apenas uma listagem de diretórios de uma pasta chamada cp . Executando cat em relação a cp , recebo um HTML com links para subdiretórios, mas nenhum deles foi baixado.

Os links são relativos, ou seja, /dav/cp/folder , mas para que funcionem, acho que eles precisam ser /cp/folder

Desculpas se não ficar claro o suficiente - feliz de editar onde for necessário.

    
por pee2pee 24.01.2017 / 10:07

1 resposta

2

A resposta aceita que sugere usar o wget na página que você mencionou não usa o webdav e não pode fazer o que o ypu pede. Outras respostas mencionando davfs2 ou dadaver são respostas mais corretas, mas ainda não concluídas, eu acho.

A chave é usar o webdav como um sistema de arquivos (ou seja, uma pasta na arborescência do seu sistema). Então, sincronizar 2 pastas é tão simples quanto rsync -aHx /some/folder/. /another/folder/. A parte um tanto complicada é colocar o recurso webdav montado como um sistema de arquivos. O Nautilus realmente não coopera com o webdav.

Em um sistema 16.04, inicie um aplicativo de terminal e digite os seguintes comandos

sudo apt install davfs2

Certifique-se de responder sim quando perguntado se usuários sem privilégios devem ter permissão para montar recursos do WebDAV?

Se o davfs já estiver instalado e você não se lembrar do que respondeu, apenas

 sudo dpkg-reconfigure -plow davfs2

Em seguida, adicione todos os usuários que podem usar o davfs ao grupo davfs2. Por exemplo, para se adicionar ao grupo davfs2

sudo addgroup $USER davfs2

faça logout e faça login novamente. Isso é importante, pois a associação ao grupo é determinada no momento do login.

Em seguida, crie uma pasta em sua casa (ou em outro lugar). Para ter certeza de não usar a pasta sem o davfs, verifique se as permissões estão definidas para 0. Quando o webdav é usado, as permissões serão substituídas.

mkdir -m 0 $HOME/remote

Em seguida, você precisa adicionar uma linha no arquivo /etc/fstab

echo "http://your.dav.server/path/to/resource $HOME/remote davfs noauto,user 0 0" |
  sudo tee -a /etc/fstab >/dev/null

Agora você concluiu a configuração. Sempre que precisar usar o webdav, basta digitar

mount ~/remote

o conteúdo remoto aparecerá na pasta ~/remote . Você pode usar ferramentas nautilus, unison ou de linha de comando para sincronizar a pasta davs com a pasta local.

Não se esqueça de usar umount ~/remote quando terminar. davfs2 usa algum cache. Deve ser lavado corretamente.

    
por exore 25.01.2017 / 12:00