文章来源:rsync 命令错误:writefd_unbuffered failed to write 1 bytes [sender]
在使用rsync命令增量式同步日志文件时,rsync命令抛出错误信息:
- (3072, 'rsync: writefd_unbuffered failed to write 1 bytes [sender]: Broken pipe (32)\nrsync error: timeout in data send/receive (code 30) at io.c(200) [receiver=3.0.6]\nrsync: connection unexpectedly closed (514462 bytes received so far) [sender]\nrsync error: error in rsync protocol data stream (code 12) at io.c(463) [sender=2.6.8]')
- rsync: writefd_unbuffered failed to write 1 bytes [sender]
在随后的测试过程中发现了一些规律:
1)日志文件越大,越有可能发生上述错误
2)rsync并发数量越多,越有可能发生上述错误
针对上述两个规律,对同步程序进行了一些改动:
1)将同步线程的sleep时间修改为随机值
2)缩短日志同步间隔
3)修改ssh加密算法
4)延长rsync命令超时时间