web-dev-qa-db-fra.com

Téléchargement de tous les fichiers depuis un serveur FTP

Je dois tout télécharger d'un serveur FTP à l'hébergement sur un autre serveur. Je n'ai accès à Shell qu'au serveur sur lequel je télécharge les fichiers. Comment, à l'aide de la commande FTP Linux, puis-je télécharger chaque fichier, en créant les répertoires nécessaires pour eux dans le processus?

36
Navarr

Utilisez wget de cette manière (m pour la mise en miroir):

wget -m ftp://username:[email protected]

Si votre nom d'utilisateur ou votre mot de passe contient des caractères spéciaux, vous devrez peut-être utiliser le format:

wget -m --user=username --password=password ftp://ip.of.old.Host

Alternativement, j'ai trouvé ce guide qui vous montre comment le faire en utilisant ncftp dans Debian. Vous aurez besoin d'un accès root au nouveau serveur si ncftp n'est pas déjà installé.

En bref:

Sudo apt-get install ncftp
ncftpget –T –R –v –u "ftpuser" ftp.nixcraft.net /home/vivek/backup /www-data
65
Emil Vikström

Une autre façon consiste à utiliser ftp. Voici un exemple de script Shell utilisant ftp:

#! /bin/bash

ftp -n << 'EOF'
open ftp.your_ftp_Host.com
quote USER your_username_here
quote PASS your_password_here
cd gets
Prompt no
mget * .
bye
EOF
1
mgoldwasser

Certains serveurs FTP permettent de télécharger des répertoires entiers en suffixant leur nom avec .tar ou .tgz. Le serveur crée ensuite une archive de ce répertoire.

1
mouviciel