617 votes

Utilisation de wget pour récupérer récursivement un répertoire contenant des fichiers arbitraires

J'ai un répertoire web où je stocke certains fichiers de configuration. J'aimerais utiliser wget pour extraire ces fichiers et maintenir leur structure actuelle. Par exemple, le répertoire distant ressemble à :

http://mysite.com/configs/.vim/

.vim contient plusieurs fichiers et répertoires. Je veux répliquer cela sur le client en utilisant wget. Je n'arrive pas à trouver la bonne combinaison de drapeaux wget pour y parvenir. Avez-vous des idées ?

1073voto

Jeremy Ruten Points 59989

Pour moi, je dois passer le --no-parent sinon il suivra le lien dans l'index des répertoires de mon site vers le répertoire parent. La commande ressemblerait donc à ceci :

wget -r --no-parent http://mysite.com/configs/.vim/

Edit : Pour éviter de télécharger les fichiers index.html, utilisez cette commande :

wget -r --no-parent --reject "index.html*" http://mysite.com/configs/.vim/

135voto

Sriram Points 897

Pour télécharger un répertoire de manière récursive, ce qui rejette les fichiers index.html* et télécharge sans le nom d'hôte, le répertoire parent et toute la structure du répertoire :

wget -r -nH --cut-dirs=2 --no-parent --reject="index.html*" http://mysite.com/dir1/dir2/data

122voto

Sean Villani Points 336

Pour tous ceux qui ont des problèmes similaires. Wget suit robots.txt qui pourrait ne pas vous permettre de saisir le site. Ne vous inquiétez pas, vous pouvez le désactiver :

wget -e robots=off http://www.example.com/

http://www.gnu.org/software/wget/manual/html_node/Robot-Exclusion.html

42voto

SamGoody Points 4406

Vous devriez utiliser le drapeau -m (miroir), car il prend soin de ne pas s'embrouiller avec les timestamps et de récurer indéfiniment.

wget -m http://example.com/configs/.vim/

Si vous ajoutez les points mentionnés par d'autres dans ce fil, ce serait :

wget -m -e robots=off --no-parent http://example.com/configs/.vim/

40voto

Erich Eichinger Points 838

voici la ligne de commande wget complète qui a fonctionné pour moi pour télécharger des fichiers à partir d'un répertoire de serveur avec un robots.txt :

wget -e robots=off --cut-dirs=3 --user-agent=Mozilla/5.0 --reject="index.html*" --no-parent --recursive --relative --level=1 --no-directories http://www.example.com/archive/example/5.3.0/

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X