让rsync逐步工作

我们有两个syslog服务器和它们之间的rsync进程。 rsync进程每15分钟运行一次。 我们每天轮换日志,但是在一天结束的时候,仍然有几十GB的日志 – 这意味着硬盘I / O变得非常重。 (我猜是因为rsync总是同步整个文件)

它并不是说有很多日志文件,只是日志文件变得非常大。

有没有办法增量同步? 就像“现在已经有十万行日志了,我只想在2000年之前发送?”

或者你能build议这样的设置的其他改进? 我们目前使用'rsync -avrH'命令。

感谢您的build议!

系统似乎按照devise工作。 rsync协议仅将现有文件的更改发送到远程文件。 它通过确定本地和远程文件时间戳是否不同而做到这一点。 如果是,则读取块的本地文件计算校验和(如同远程),并且改变的块被发送到远程。

这总是需要一个完整的文件扫描,因为我不认为你可以排除它的一部分。

如果I / O真的对您有问题,那么我会考虑更频繁地对日志进行日志转储。 这将意味着,一旦旋转和closures,该文件将只被考虑为rsync一次。 活动日志文件也将更小,因此将需要较less的I / O来确定更改的位置。