我有大量文件要从一台服务器移动到另一台服务器。
在不重载原始服务器的情况下,最好的方法是什么?
我应该对每个文件夹进行tar,然后下载到我的计算机,然后上传到其他服务器吗?
这样做的SSH命令是什么?
或者有更好的方法吗?
感谢 安迪
答案 0 :(得分:4)
来自SCP参考手册:
任何文件名都可能包含要指明的主机和用户规范 该文件将被复制到该主机或从该主机复制。两个之间的副本 允许远程主机。
-p保留原始文件的修改时间,访问时间和模式。
-r递归复制整个目录。
scp -rp username@source:/foldername/ username@destination:/foldername
使用tar创建一个文件可能会略微减轻负载,因为一个文件上的文件处理开销不会太多...... ymmv。使用gzip压缩会减少带宽,但会在源服务器上施加更大的负载来压缩文件。
答案 1 :(得分:0)
我认为你担心“超载服务器”是没有根据的。你移动文件的任何方式都会稍微加载服务器,但这是一个微不足道的数量。
首先 tar
和gzip
文件将减少网络流量,但tar
和gzip
的操作将需要第一台服务器。
简单地tar
可能没什么价值 - 它是一个大文件而不是许多小文件(总大小相同)。
下载然后上传几乎没有什么实际价值 - 除非您想要一份副本 - 您与每台服务器的网络连接可能比两台服务器之间的网络连接更差。
这对SuperUser来说更像一个问题。
答案 2 :(得分:0)
tar + gzip / bzip2和scp to copy
rsync(可以在ssh上运行)