CentOS5.8 x86_64下配置rsync+inotify即时同步文件

rsync能够实现触发式的文件同步,可是经过crontab守护进程方式进行触发,同步的数据和实际数据会有差别,而inotify能够监控文件系统的各类变化,当文件有任何变更时,就触发rsync同步,这样就能够解决同步数据的实时性问题。rsync+inotify我在工做中会常常用到,你们部署这种时请注意如下方面:
服务器

1、rsync服务器的uid和gid请将nobody:nobody改成www:www,由于是考虑到咱们的Nginx服务器是由www:www运行的,而其对应目录不少时候有写日志或其它相关写文件的需求。
负载均衡

2、/data/htdocs/www目录对于www用户而言是须要写权限的,因此记得运行以下命令:
ide

chown -R www:www /data/htdocs/www。测试

另外工做中rsync+inotify的优势和缺点也总结了下,以下:
ui


rsync+inotify的优点所在:spa

1、部署和维护都比较简单,因为数据都部署在Web应用服务器上面,较之单一NFS文件服务器而言没有磁盘I/O压力大的问题,缘由很简单:来自客户端大量对图片及数据的访问需求,都分散在负载均衡器后面的N台Web应用服务器上面了。
日志

2、改动较大的程序,在正式发布上线以前能够拿其中一台Web应用服务器做为线上的测试服务器,这样较之发布之后再版本回退带来的损失较小。进程

rsync+inotify其缺点也比较明显:
crontab

1、rsync+inotify在同步大文件效果明显不如小文件方面好;图片

2、在对线上机器进行巡查时,发现rsync+inotify在内存占用方面比较多,16G内存的机器可以使用内存老是寥寥无几(CentOS系统内存的实际使用值一直都是5365左右),以前一直觉得是内存泄露的问题,最后经重重排查,发现确实是rsync+inotify的缘由。


其部署安装方面详见PDF附件。

相关文章
相关标签/搜索