我们正在移动服务器,我需要将所有数据从服务器 A 传输到服务器 B。
我有一个大约 100Gb 的 tar.gz,其中包含所有服务器 A 文件。
我真的不想在我的计算机上本地下载文件,然后再将其上传到服务器 B。
我只能通过 ftp 访问服务器 A。这意味着不能通过 ssh。但是,我可以通过 ssh 访问服务器 B。
传输文件的最佳方法是什么?我考虑将 tar.gz 文件暂时移动到 public_html,然后使用 wget 下载。这样可行吗?否则,我可以通过服务器 B 上的 ssh 会话使用 ftp。
答案1
就像是:
ssh user@serverB
nohup wget -bqc ftp://path/largefile.tar.gz
wget 选项:
-b : run in background
-q : quiet
-c : resume broken download (means you can restart if it breaks)
这会在后台运行 wget,因此(希望)如果您退出 ssh shell,它会继续运行。好的,我认为您需要 nohup 来确保在您注销时情况如此
因为您是从服务器 B 启动下载的,所以您的台式机除了进行设置外不参与文件传输。
答案2
如果数据不是很敏感,并且您的连接足够安全,请通过 ssh 进入 B 并通过 ftp 直接从 A 下载。由于加密工作开销,SSH 会使您的下载速度明显变慢。如果可能,请将 100GB 文件拆分成多个,尤其是当 A 上的 ftp 服务器不支持下载续传时。