我需要将所有内容从FTP服务器下载到托管在不同服务器上。我只有shell访问我正在下载文件的服务器。如何使用Linux FTP命令下载每个文件,在此过程中创建它们所需的目录?
答案 0 :(得分:64)
以这种方式使用wget
(m用于镜像):
wget -m ftp://username:password@ip.of.old.host
如果您的用户名或密码包含特殊字符,则可能需要使用以下格式:
wget -m --user=username --password=password ftp://ip.of.old.host
或者,我发现this guide向您展示了如何在Debian中使用ncftp进行操作。如果尚未安装ncftp,则需要root访问新服务器。
简而言之:
sudo apt-get install ncftp
ncftpget –T –R –v –u "ftpuser" ftp.nixcraft.net /home/vivek/backup /www-data
答案 1 :(得分:1)
某些FTP服务器允许通过使用.tar或.tgz后缀名称来下载整个目录。然后,服务器创建该目录的存档。
答案 2 :(得分:1)
另一种方法是使用ftp
。这是一个使用ftp的示例shell脚本:
#! /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