我们常用到的是rsync+inotify来对服务器进行實时同步其中inotify用于监控文件系统事件,rsync是目前广泛使用的同步算法其优点是只对文件不同的部分进行操作,所以其优势大大超过使用掛接文件系统的方式进行镜像同步
目前使用的比较多的同步程序版本是inotify-tools,另外一个是google开源项目Openduckbill(依赖于inotify-tools)这两个都是基于脚本语言编寫的,其设计思路同样是采用inotify与rsync命令 相比较上面两个项目,本项目优点是:
sersync是使用c++编写而且对linux系统文件系统产生的临时文件和重复的攵件操作进行过滤(详细见附录,这个过滤脚本程序没有实现)所以在结合rsync同步的时候,节省了运行时耗和网络资源因此更快。
一:為什么要实现同步rsync备份系统
服务器上有些重要文件或数据时可以把他们多rsync备份系统一份到其他服务器上,这样就不怕数据或文件丢失了
-
auth users = hening # 认证的用户名,如果没有这行则表明是匿名此用户和系统无关
- 日志记录文件的存放位置
服务端A需要把客户端B提供的密码保存到A自身所萣义的密码文件中,仅保存密码
这里的nexus用户是B主机设置的一个虚拟用户,不需要在B主机上创建该用户
3.sersync的配置文件需要配置服务端A所定义的密码文件。
4.客户端rsync服务应用在sersync服务启动之前启动
5.rsync是由xinet服务提供,用加参数的方式以守护进行(Daemon)方式运行在后台不依赖xinet服务。
}