在Linux服务器间快速传输大型文件

Sometimes we need to back up data from a server to another using scp or rsync. It is very time-consuming when the data is very large, for example, over 500G. I found a combined command that helped me a lot.

步骤

  1. 将你的文件分成若干个小文件;

    1
    2
    split -b 1G large_file.txt.gz large_file/large_file.txt.gz.part-

    -b指定文件大小

  2. 传输分裂后的文件

    1
    2
    scp large_file/large_file.txt.gz.part-* user@xx.xx.xx:/path/of/destination

    也可以使用并行同时传输多个文件,虽然速度不会有提升,因为主要的限制来自宽带,但是分裂文件可以解决因为网络问题造成的传输中断

  3. 将传输过去的小文件合并。

    1
    cat large_file.txt.gz.part-* > large_file.txt.gz

    也可以用md5进行校验。


在Linux服务器间快速传输大型文件
http://example.com/2019/10/22/在Linux服务器间快速传输大型文件/
作者
Wang Jianhua
发布于
2019年10月22日
许可协议