最近从国外服务器同步文件,在不加代理的时候速度为200k/s,添加代理后,速度稳定在15M/s(传输速度取决于你的服务器带宽和本地网络的带宽),记录一下参数

(同步完成后再加上-cI参数检查一遍数据一致性)

rsync -Pavzr
-e "ssh -o 'ProxyCommand nc -X 5 -x 127.0.0.1:1080 %h %p' -o ServerAliveInterval=30 -o ServerAliveCountMax=20" //使用 ssh 做通讯,并使用 sock5 代理,代理地址:127.0.0.1 ,端口:1080
root@192.168.0.100:/home/wwwroot/abc     //from address
/data/wwwroot/abc          //to address
rsync参数:
-P 保留那些因故没有完全传输的文件,相当于断点续传
-a 归档模式,表示以递归方式传输文件,并保持所有文件属性
-v 详细模式输出,同步过程中输出信息
-z 对备份的文件在传输时进行压缩处理
-r 对子目录以递归模式处理
-e 使用ssh、rsh方式进行同步
-c 打开校验开关,强制对文件传输进行校验
-I 不跳过那些有同样的时间和长度的文件
ssh参数:
如果网络不稳定,传输过程中断会卡死,只能重连续传,解决方法:
-o ServerAliveInterval=30 ssh客户端每隔30秒向服务器发送心跳
-o ServerAliveCountMax=20 若连续发送20个心跳未收到回应则断开
除此之外还需要对服务器配置:
sudo vim /etc/ssh/sshd_config
添加
ClientAliveInterval 30
ClientAliveCountMax 20
重启ssh
/etc/init.d/ssh restart

扩展:https://www.cnblogs.com/subsir/articles/2565373.html

Rsync

rsync(remote synchronize)是一个远程数据同步工具,可通过 LAN/WAN 快速同步多台主机之间的文件。也可以使用rsync同步本地硬盘中的不同目录。
rsync 是用于替代 rcp 的一个工具,rsync 使用所谓的rsync算法进行数据同步,这种算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。您可以参考How Rsync Works A Practical Overview进一步了解 rsync 的运作机制。

rsync 的初始作者是 Andrew Tridgell 和 Paul Mackerras,目前由http://rsync.samba.org维护。rsync支持大多数的类 Unix 系统,无论是 Linux、Solaris还是BSD上都经过了良好的测试。CentOS系统默认就安装了rsync软件包。此外,在windows平台下也有相应的版本,如cwrsync和DeltaCopy等。

分类: Uncategorized

0 条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注