0sindbad0
Goto Top

Unmount bevor Dateien vollständig kopiert worden sind

Hallo,

ich mounte auf einem Ubuntu 18.04 ein webdav von einem Windows 2012 Server. Dann kopiere ich eine Datei und unmounte danach. Einmal mit fusermount -u und einmal mit umount. Jeweils vor dem unmount überprüfe ich die Größe der Datei auf dem webdav (ls -lah). Nach dem unmount ist sie meist 0. Wenn ich rsync nutze scheint es besser zu klappen, es bleiben aber haufenweise temporäre Dateien beginnend mit einem Punkt und endend mit einer Zufallszeichenfolge. Es sieht für mich so aus, als ob der Kopiervorgang nicht beendet ist, bevor der umount erfolgt. Leider habe ich noch keinen Ansatz gefunden. Kann mir jemand einen Tipp geben?
Danke!

Content-Key: 532180

Url: https://administrator.de/contentid/532180

Printed on: April 19, 2024 at 02:04 o'clock

Member: SeaStorm
SeaStorm Jan 07, 2020 at 11:06:32 (UTC)
Goto Top
Hi

hört sich für mich an als wären hier write-caches noch nicht geschrieben worden.
setz mal ein "sync" ab, bevor du unmountest
Member: Lochkartenstanzer
Lochkartenstanzer Jan 07, 2020 updated at 11:12:49 (UTC)
Goto Top
Zitat von @SeaStorm:

hört sich für mich an als wären hier write-caches noch nicht geschrieben worden.
setz mal ein "sync" ab, bevor du unmountest

Wobei webdav kein klassisches Filesystem ist, sondern nur eine Methode Files über http zu übertragen. Da ist nur eine kleine Schicht, die die Filesystem-calls auf http-kommandos überträgt. Von daher wird auch das mit dem sync vermutlich nicht helfen. Da hilft nur ein klassisches Netzwerkfilesystem wie NFS, CIFS, AFP o.ä. das Rücksicht auf Puffer u.a. nimmt.

lks
Member: godlie
godlie Jan 07, 2020 updated at 11:16:03 (UTC)
Goto Top
Hallo,

eine weitere Möglichkeit besteht darin rClone zu verwenden, welches eher für solche operationen ausgelegt ist.

rClone WebDav Doku
Member: SeaStorm
SeaStorm Jan 07, 2020 at 11:26:50 (UTC)
Goto Top
Wobei webdav kein klassisches Filesystem ist, sondern nur eine Methode Files über http zu übertragen. Da ist nur eine kleine Schicht, die die Filesystem-calls auf http-kommandos überträgt.
Ja dachte ich mir auch. Da bin ich jetzt nicht tief genug drin, könnte mir aber vorstellen, das hier der write grundsätzlich erst mal in den Cache geht. und erst wenn er da wieder raus geht, greifen dann die Mechanismen zur Übersetzung Richtung WebDAV. Ein Versuch ist's Wert
Member: 0sindbad0
0sindbad0 Jan 08, 2020 at 11:56:26 (UTC)
Goto Top
/sbin/mount.davfs -o noexec https://webdav.domain.de/ordner/ordner/ordner/Backup/wekan/ /mnt/backup/wekandb 2>&1

sync hat nichts gebracht. Wenn ich den unmount Befehl weglasse, dann erscheint einige Augenblicke später die richtige Größe auf dem webdav (per windows explorer draufgeschaut) und die Datei hat auch Inhalt. mache ich dann unmount, ist alles ok. ich habe als Mountoption noch _netdev hinzugefügt mit keiner Veränderung.

Ich werde als workaround den unmount Befehl zeitlich ziehen und dann mal schauen. Außerdem rClone mal ansehen.
Leider ist mir aktuell nur Webdav möglich ggf demnächst CIFS. Insg. aber alles sehr komisch, da webdav mir ja genau die Möglichkeit bieten soll, etwas übers Netz zu speichern. Wenn das eigentlich gar nicht so richtig sauber geht, was soll das dann?

Danke euch!
Grüße
Member: 0sindbad0
0sindbad0 Jan 08, 2020 at 13:12:42 (UTC)
Goto Top
/etc/davfs2/davfs2.conf

if_match_bug 1

fehlte.

Ich danke euch trotzdem.