我有一个大问题。我必须从只能通过 ftp 访问的旧 Web 空间移动数据。当然,新的根服务器可以通过 ssh 访问。
我需要搬家全部我从旧空间中移除了数据,但数据量实在太大了。有没有办法将所有文件直接从旧 FTP 移动到存储,而不是通过第三个站点(我的本地机器)?
我尝试使用 ftp,但没有成功。我想我使用了错误的命令。
有没有办法做到这一点?
先感谢您
答案1
最好的解决方案是致电或发送电子邮件给旧系统的提供商,要求他们为您打包/压缩整个目录树,这样您只需下载一个文件,这比下载数百个小文件更简单、更快捷、更高效。但如果这不可行,第二好的解决方案是在新服务器上再次登录 ssh,并在 ssh 会话中安装或使用可进行递归目录下载的 ftp 客户端,这样您就不必分别“提示并 mget *”所有目录。
如果您有 root 权限,则可以使用“sudo apt-get install ncftp”来安装 ncftp 客户端,或者上传 ncftp3 客户端源代码,然后使用 ./configure 和 make 命令自行编译
或者,您可以上传并安装 ftp 客户端 yafc、tnftp 或 quftp 来完成相同的递归下载任务(标准 ftp 不支持此功能)。
另一种方法是通过 http 而不是 ftp 递归获取网站,假设该网站仍然在线或可以使用“wget -r -l0http://旧网站/“通过 ssh,但存在无法获得所有内容的风险。
最后的选择是将所有内容下载到您的客户端,将其压缩,然后通过 sftp 将其发送到新服务器进行解压。
答案2
您需要在两台机器上启用直接 ftp 复制,仅此而已。在 FlashFXP 或某些 ftp 客户端中打开两台机器,然后直接在它们之间复制。(如果一台服务器上未启用此功能,您可能需要向提供商请求临时许可。)
(如果新服务器是您的,您也可以简单地使用“mc”或“lftp”从旧空间复制文件,就像它是 ftp 客户端一样。)
答案3
你好,这篇文章是我的,我找到了一个对我来说最好的实用解决方案。
- 我在新机器上安装了 lftp
- 创建了一个应该包含旧 ftp 数据的文件夹。
- 在此文件夹中进行了更改
- 启动 lftp 并连接到旧的 ftp 服务器
进入镜像 ./ ./
30 分钟后,我将所有文件都复制到了新机器上。
我认为这是一种简单且快速的实现方法。