RSync vers WebDAV monté très lentement

11

J'ai un magasin WebDAV monté, avec lequel je joue pour essayer de créer ma propre configuration de pseudo-DropBox. Cependant, il semble très lent de télécharger des fichiers plus volumineux (mon graphique de bande passante va bien pendant un petit moment, puis s'arrête net pendant de longues périodes).

Quelqu'un at-il essayé cela? Je me demande si la façon dont il est monté fait rsyncpenser que c'est un lecteur local ou quelque chose et peut donc être plus bavard qu'il ne le serait s'il savait que c'était un lecteur réseau monté?

Je synchronise en utilisant la commande suivante:

rsync -rv /source/directory/ /mounted/webdav/directory/

Cela fonctionne avec MacOS 10.6 et WebDAV est monté à l'aide du mécanisme de montage natif.

AlexC
la source

Réponses:

13

Consultez la page de manuel pour

  • --size-only parce que la plupart des implémentations webdav n'acceptent pas le temps de modification des paramètres

  • --no-whole-file pour dire à rsync sa gestion d'un système de fichiers distant

  • --inplace avoir rsync en remplaçant les fichiers directement, au lieu de télécharger puis de remplacer

Btw, j'utilise une autre couche encfs pour crypter des fichiers sur le webdav, et je suis assez satisfait des performances.

ribx
la source
Comment --inplaceaider? En manuel: cette option est utile pour transférer des fichiers volumineux avec des modifications basées sur des blocs ou des données ajoutées, ainsi que sur des systèmes liés au disque et non au réseau . Il peut également aider à empêcher un instantané du système de fichiers de copie sur écriture de diviser tout le contenu d'un fichier qui n'a que des modifications mineures.
msa.im
Ma commande estsudo mount -t davfs https://webdav.yandex.com/ ~/mnt/yd; rsync -avrc --size-only --no-whole-file /home/msa/xranitel/webdav /home/msa/mnt/webdav
msa.im
0

J'ai essayé cela sur un serveur pour lequel j'ai accès à la fois à rsync et à WebDAV pour voir la différence et la méthode rsync sur WebDAV était beaucoup plus lente. Doit juste être une chose de protocole. Je ne pense pas que rsync soit localement plus bavard que sur un réseau.

fideli
la source
0

Je suis sûr que c'est parce que rsync calcule la somme de contrôle pour comparer et après la transmission. Étant donné que le fichier est stocké à distance, cela signifie qu'il est transféré plusieurs fois.

Vous pouvez exécuter rsync en tant que démon ou via ssh pour effectuer le calcul sur le serveur. Ou désactivez simplement la somme de contrôle.

bdecaf
la source
0

J'ai trouvé que le montage webdav de Mac OSX n'est pas fiable (10.11.6 El Capitan). Si j'utilise rsync, tar, cp ou tout autre outil, certains fichiers sont corrompus. Je peux répéter et répéter, mais différents fichiers sont corrompus à chaque fois. Je monte ensuite le même dossier webdav exact, dans une machine virtuelle Windows à l'intérieur du mac (même réseau, même matériel, même tout sauf que maintenant c'est une machine virtuelle Windows au lieu de Mac OSX), puis tout fonctionne bien.

Edward Ned Harvey
la source