rsync同步慢cpu占用高的问题

结合inotifywait和rsync做实时同步会遇到一些问题,会造成同步非常慢。常见的原因有如下:
1:inotifywait做实时监控,但是rsync是做全量同步
即inotifywait同步监控到文件变化,这个非常频繁,每触发一次rsync做了全量同步,inotifywait本来是能监控到具体的文件变化,所以本次只用同步这个变化的文件即可,而不是文件夹,即使是需要文件夹,去掉递归也行。
2:checksum带来的性能问题
如果每次修改文件大小会变化,可以去掉--checksum,有时候卡在sending incremental file list可能是因为这个原因导致的
3:频繁的触发了modify
modify会频繁的触发,如果在modify就同步可能会造成多次同步,解决方式是去掉modify事件,仅仅在关闭或者移动的时候触发rsync,可能的代码片段为:

if [[ $INO_EVENT =~ 'CLOSE_WRITE' ]] || [[ $INO_EVENT =~ 'MOVED_TO' ]] 

标签: none

添加新评论