可能重复:
将 55GB 图像传输到新服务器的最快方法
我正在从一台服务器迁移到另一台服务器。我想将数千个文件从一台服务器传输到另一台服务器。
这里最好的方法是什么?
两个系统都运行 CentOs。我要迁移的那个系统使用 DirectAdmin,另一个系统使用 cPanel。我在两个系统上都拥有 SSH 访问权限。
我目前正在对不同的文件夹进行皮重,但是当文件很大且文件量很大时,需要的时间就太长了)
答案1
从源主机:
$ rsync -avz --progress /path/to/files/ [email protected]:/path/to/files/
答案2
从我的经验来看,处理大量小文件时,通过 ssh 传输的 tar 比 rsync 更快。
我建议尝试一下。
该命令是这样的(它保留权限):
tar cXpf-/数据|ssh 用户@新服务器“tar xpf--C/新位置/”
原因可能是 tar 创建了一个连续的流并且 ssh 正在压缩它。
尝试一下并告诉我们结果。
答案3
我将研究在两台服务器之间使用带压缩的 rsync,并使用 SSH 作为“隧道”通过网络建立连接。
答案4
最好的方法是使用 rsync,但是为什么呢?
原因是,当您传输大量文件并且由于某种原因连接断开时,您无需担心哪些文件已传输,哪些未传输。
rsync 会处理这个问题,因为它会快速比较目标中的文件与源中的文件,并仅传输相关文件。这种方法既节省带宽又节省时间。
您可以使用以下语法进行 rsync
rsync -avz /path/to/source [email protected]:/path/to/destination
显然,如果你有 SSH 密钥,并且目标服务器上禁用了密码验证,请使用此
rsync -avz /path/to/source -e "ssh -i /path/to/ssh-key" [email protected]:/path/to/destination