在 VOIP 应用程序中,我每天有多达 3000rsync
个来自 linux 服务器的客户端音频文件,服务器放置在数据中心(10Mbps 输入/输出绑定),服务器作为运行 FreeSWITCH 的 VOIP sip 服务器工作(低 ping 延迟应该得到保证。)
因此,我想对 rsync 进行服务器端控制,它控制:
- 限制总出站带宽。
- 限制连接总数。(在达到最大连接数时拒绝客户端,并让它在特定时间范围后重试。)
- 可选:列出/终止单个连接。
通常我会使用 ssh + rsync + pem_keys 和一些额外的选项,但是简单的命令行无法满足上述要求。任何人都可以指出我的方向。或显示一些脚本/工具?我也可能会整合它们并在 github 上发布。谢谢!
如果我处在你的处境,我会继续使用库存工具,纯粹是因为你可以始终使它们保持最新状态并获得所有最新的错误修复/功能,而无需使用你自己的代码修补它们。
结果,我会用这个实现你想要的:
tc
流量整形——OpenVZ有一篇关于它的相当不错的文章。iptables
- Cyberciti来拯救这个。您将reject
超过阈值的新连接,因此您需要包装rsync
客户端以确保它在快速失败时重试。