Téléchargement de tous les fichiers depuis un serveur FTP [fermé]
J'ai besoin de tout télécharger d'un serveur FTP à l'hébergement sur un serveur différent. J'ai un accès shell uniquement au serveur sur lequel je télécharge les fichiers. Comment, en utilisant la commande FTP Linux, puis-je télécharger chaque fichier, en créant les répertoires nécessaires pour eux dans le processus?
3 réponses
Utilisez wget
de cette manière (m pour la mise en miroir):
wget -m ftp://username:password@ip.of.old.host
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
Sinon, 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
Certains serveurs FTP permettent de télécharger des répertoires entiers en suffixant leur nom avec .tar ou .tgz. Le serveur crée alors une archive de ce répertoire.
Une Autre façon est d'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