
Wenn ich versuche, mit Nautilus einen Ordner von einem WebDAV-Server auf eine lokale Festplatte zu kopieren, wird eine scheinbare Manifestdatei (XML mit Verzeichnisliste usw.) kopiert. Mit Cadaver erhalte ich eine leere Datei.
Ich möchte einen ganzen Verzeichnisbaum rekursiv kopieren können. Weiß jemand, wie ich das machen kann?
ps: Ich verwende Ubuntu 11.04 mit Nautilus 2.32.2.1 und Cadaver 0.23.3
Antwort1
Diese Antwort fasst die in den Kommentaren von @Ocaso und @Rinzwind gegebenen Vorschläge zusammen.
Ich habe das hier verwendet:
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
Nicht perfekt (habe jede Menge „index.html?C=M;O=D“ und ähnliches heruntergeladen), aber hat ansonsten ok funktioniert.
Mit „-r“ wird rekursiv heruntergeladen, indem Links gefolgt wird.
Das "-np" verhindert den Aufstieg in übergeordnete Verzeichnisse (sonst laden Sie die ganze Website herunter!).
Das "-nH" verhindert das Erstellen eines Verzeichnisses mit dem Namen "my-host" (was ich nicht wollte).
Die Option „--cut-dirs=1“ verhindert die Erstellung eines Verzeichnisses mit dem Namen „my-webdav-dir“.
Das „--no-check-certificate“ liegt daran, dass ich ein selbstsigniertes Zertifikat auf dem WebDAV-Server verwende (ich erzwinge auch https).
Das "-U Mozilla" setzt den Useragent in der http-Anfrage auf "Mozilla" - mein WebDAV-Server benötigte dies eigentlich nicht, aber ich habe es trotzdem eingebunden.
Antwort2
Alternativ können Sie es als Pfad bereitstellen, auf den als Teil Ihres eigenen Dateisystems zugegriffen werden kann.
sudo mount -t davfs https://your.remote/path /your/local/mount/point
Hinweis: /your/local/mount/point
Damit dies funktioniert, muss es sich um ein tatsächlich vorhandenes Verzeichnis handeln.
Soweit ich weiß, müssen Sie nur Folgendes ausführen, damit der Befehl funktioniert:
sudo apt-get install davfs2
(Falls weitere Konfigurationen erforderlich sind, entschuldige ich mich, es ist lange her, dass ich das gemacht habe.)
(Ich habe dies als Antwort hinzugefügt, weil ich der Meinung bin, dass Liams Antwort nicht genügend Informationen enthielt.)
Antwort3
Ich weiß, dass dies eine alte Frage ist, aber ich wollte dies tun und fandrclonedas ist wie rsync für die Cloud und unterstützt viele verschiedene Protokolle, einschließlich WebDAV. Sie konfigurieren rclone config
eine Remote-Instanz und führen dann einfach aus rclone copy remote:path .
und int lädt alles herunter. Sie können auch verwenden rclone sync remote:path .
und es überprüft die Dateien und kopiert nur Updates. Es ist ein Golang-Programm und daher sehr portabel.
Antwort4
Sie können dav2fs verwenden, um den WebDAV-Server zu mounten und dann darauf wie auf ein lokales Verzeichnis zuzugreifen.