一般来说少量的文件在服务器间传输我们会常用scp。但是当大量的小文件在两个服务之间传输时,scp并不能充分的利用带宽。
可以通过tar + ssh 建立管道在两个服务器之间进行文件传输:
tar -c /path/to/dir | ssh remote_server 'tar -xvf - -C /absolute/path/to/remotedir'
或者通过rsync
rsync -avW -e ssh /path/to/dir/ remote_server:/path/to/remotedir
如果两个服务器之间的带宽受限时,推荐用前者
当然,如果带宽比较充裕,后者更快
https://serverfault.com/questions/18125/how-to-copy-a-large-number-of-files-quickly-between-two-servers/376596