
Cuando intento copiar una carpeta de un servidor webdav a un disco local usando Nautilus, copia lo que parece ser un archivo de manifiesto (xml con la lista del directorio, etc.). Con cadáver obtengo un archivo vacío.
Me gustaría poder copiar de forma recursiva un árbol de directorios completo. ¿Alguien sabe cómo puedo hacer esto?
ps: estoy usando Ubuntu 11.04 con Nautilus 2.32.2.1 y Cadaver 0.23.3
Respuesta1
Esta respuesta resume las sugerencias dadas en los comentarios de @Ocaso y @Rinzwind.
Usé esto:
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
No es perfecto (descargué muchos 'index.html?C=M;O=D' y similares) pero por lo demás funcionó bien.
La "-r" se descarga de forma recursiva, siguiendo los enlaces.
El "-np" impide el ascenso a los directorios principales (¡de lo contrario, descargará el sitio web completo!).
El "-nH" impide la creación de un directorio llamado "mi-host" (que no quería).
"--cut-dirs=1" impide la creación de un directorio llamado "my-webdav-dir".
El "--no-check-certificate" se debe a que estoy usando un certificado autofirmado en el servidor webdav (también estoy forzando https).
"-U Mozilla" establece el agente de usuario en la solicitud http en "Mozilla"; mi servidor webdav en realidad no lo necesitaba, pero lo incluí de todos modos.
Respuesta2
Alternativamente, puede montarlo como una ruta a la que se accederá como parte de su propio sistema de archivos.
sudo mount -t davfs https://your.remote/path /your/local/mount/point
Nota: /your/local/mount/point
tiene que haber un directorio real existente para que esto funcione.
Hasta donde yo sé, solo necesita ejecutar lo siguiente para que el comando funcione:
sudo apt-get install davfs2
(Si se requiere más configuración, me disculpo, fue hace mucho tiempo que hice esto).
(Agregué esto como respuesta porque creo que la respuesta de Liam no brindó suficiente información).
Respuesta3
Me doy cuenta de que esta es una vieja pregunta, pero quería hacer esto y encontréclonarque es como rsync para la nube y admite muchos protocolos diferentes, incluido WebDAV. Usas rclone config
para configurar un control remoto y luego simplemente lo haces rclone copy remote:path .
e int descargará todo. También puede usarlo rclone sync remote:path .
y verificará los archivos y solo copiará las actualizaciones. Es un programa golang por lo que es muy portátil.
Respuesta4
Puede usar dav2fs para montar el servidor webdav y luego podrá acceder a él como lo haría con un directorio local.