web-dev-qa-db-fra.com

Comment mettre en miroir un répertoire avec wget sans créer de répertoires parents?

Je veux mettre en miroir un dossier via FTP, comme ceci:

wget --mirror --user=x --password=x ftp://ftp.site.com/folder/subfolder/evendeeper

Mais je ne veux pas créer une structure de répertoires comme celle-ci:

ftp.site.com -> dossier -> sous-dossier -> evendeeper

Je veux juste:

evendeeper

Et tout ce qui se trouve en dessous est la structure résultante. Il serait également acceptable que le contenu de evendeeper se retrouve dans le répertoire courant tant que des sous-répertoires sont créés pour les sous-répertoires de evendeeper sur le serveur.

Je connais le -np option, selon la documentation qui l'empêche de suivre les liens vers les pages parentes (un non-problème pour les fichiers binaires que je copie via FTP). Je connais également le -nd, mais cela empêche la création de toute structure de répertoires, même pour les sous-répertoires de evendeeper.

Je considérerais des alternatives tant qu'elles sont basées sur la ligne de commande, facilement disponibles en tant que packages Ubuntu et facilement automatisées comme wget.

45
Tom Boutell

Pour un chemin comme: ftp.site.com/a/b/c/d

-nH téléchargerait tous les fichiers dans le répertoire a/b/c/d dans le répertoire courant et -nH --cut-dirs=3 téléchargerait tous les fichiers dans le répertoire d du répertoire courant.

61
vs_inf

L'option -np (Pas de parent) fera probablement ce que vous voulez, liée à -L 1 (Je pense, ne pas avoir d'installation wget avant moi), ce qui limite la récursivité à un niveau.

MODIFIER. D'accord. gah ... peut-être que je devrais attendre d'avoir bu du café .. Il y a une option --cut ou similaire, qui vous permet de "couper" un nombre spécifié de répertoires du chemin de sortie, donc pour /a/b/c/d, Une coupure de 2 forcerait wget à créer c/d Sur votre machine locale

9
Marc B

À la place d'utiliser:

-nH --cut-dirs=1

utilisation:

-nH --cut-dirs=100

Cela supprimera plus de répertoires et aucun dossier ne sera créé.

Remarque: 100 = le nombre de dossiers à ignorer lors de la création. Vous pouvez remplacer 100 par n'importe quel nombre.

8
Tony TCG