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.
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.
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
À 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.