PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

Pierre-Alain Bandinelli : wget pour télécharger intelligement le contenu d'un espace webdav

jeudi 28 août 2014 à 21:22

Qu'on l'aime ou qu'on ne l'aime pas, la technologie webdav est assez répandue et largement utilisée par certains hébergeurs pour partager des données. On trouve sous Linux toute un panel de logiciels capables de travailler avec webdav, et vous connaissez sans doute davfs2 qui permet de monter un partage webdav comme une partition locale.

Cependant, davfs2 fonctionne à l'aide d'un cache (sensé rendre l'usage plus fluide et confortable). Ainsi, à chaque ouverture de fichier, celui est d'abord copié en zone cache (par défaut /var/cache/davfs2/) avant d'être rendu disponible. Si ce comportement est très intéressant pour des usages classiques, il devient problématique lorsque le partage est distant et les fichiers atteignent des tailles massives (plusieurs Go) avec une grosse lenteur causée par la mise en cache !

J'ai notamment trouvé ce comportement problématique avec rsync : tentant de synchroniser avec l'excellent rsync le contenu d'un partage webdav comprenant plusieurs fichiers >10 Go (partage monté avec davfs2), je me retrouvais avec rsync bloqué, apparemment sans activité et l'impossibilité de tuer les processus. Et pour cause, davfs2 faisait tout son possible pour basculer le fichier en cache avant de laisser rsync (gelé en attente) travailler dessus... Pas idéal !

Je décidais alors de remplacer rsync par wget pour mon travail de synchronisation à sens unique :

wget -c -r -nH --cut-dirs=1 -N --user="user" --password="password" http://server.tld/webdav/

Au passage, on "gagne" la barre de progression propre à wget dont rsync ne dispose pas par défaut.

Bien évidemment, wget n'est pas rsync et wget n'a certainement pas toutes les fonctionnalités de synchronisation avancées (et diablement intelligentes) de rsync. Cependant, il se défend admirablement pour télécharger le contenu d'un espace webdav de manière intelligente et sans bloquer sur le mécanisme de cache de davfs2 !

Mais wget, le vénérable, m'a encore bien dépanné !

Gravatar de Pierre-Alain Bandinelli
Original post of Pierre-Alain Bandinelli.Votez pour ce billet sur Planet Libre.