操作系统:RHEL6.2
内核版本:2.6.32-220.el6.x86_64 (确认是否在2.6.13版本以上)
A系统IP:192.168.5.205
B系统IP:192.168.5.206
A系统里目录/var/www/html/ 实时同步到B系统/var/www/html/
在B系统安装rsync 下载地址http://pan.baidu.com/s/1gdd4p5D
[root@B ~]# tar zxvf rsync-3.1.1.tar.gz
[root@B ~]# cd rsync-3.1.1
[root@B rsync-3.1.1]# make && make install
2.在B系统配置rsync
1)创建rsyncd.conf
[root@B ~]# vim /etc/rsyncd.conf
uid = root
gid = root
use chroot = no
max connections = 0
strict modes = yes
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
[www] #定义模块名
path = /var/www/html #指定数据同步到哪
comment = update #名称,自定义
ignore errors
read only = no
write only = no
hosts allow = 192.168.5.205
list = false
uid = root
gid = root
auth users = backup #使用用户名backp,与系统用户无关
secrets file = /etc/server.pass #用户名:密码的文件
2)创建server.pass
[root@B ~]# vim /etc/server.pass
backup:ixdba123 #用户名:密码 格式
3)启动rsync守护进程,并开机自动启动
[root@B ~]# /usr/local/bin/rsync --daemon
[root@B ~]# ps -ef | grep rsync
root 22700 1 0 11:40 ? 00:00:00 /usr/local/bin/rsync --daemon
[root@B ~]# echo "/usr/local/bin/rsync --daemon" >>/etc/rc.local
3.在A系统 配置内容发布节点
1)安装rsync
[root@B ~]# tar zxvf rsync-3.1.1.tar.gz
[root@B ~]# cd rsync-3.1.1
[root@B rsync-3.1.1]# make && make install
2)安装inotify-tool 下载地址http://pan.baidu.com/s/1lgcZO
[root@A ~]# tar zxvf inotify-tools-3.14
[root@A ~]# cd inotify-tools-3.14
[root@A inotify-tools-3.14]# make && make install
查看是否已生成inotifywait和inotifywatch文件
[root@A ~]# ll /usr/local/bin/
total 1392
-rwxr-xr-x. 1 root root 44271 Sep 23 01:26 inotifywait
-rwxr-xr-x. 1 root root 41361 Sep 23 01:26 inotifywatch
-rwxr-xr-x. 1 root root 1333770 Sep 22 15:46 rsync
3)配置内容发布节点的主要工作是将静态网页实时同步到B系统,这个过程通过shell完成,脚本如下:
[root@A ~]# vim rsync.sh
注# src=/var/www/html 是A系统要备份的数据路径
--timeftm:指定时间的输出格式
--format:指定变化文件的详细信息
-mrq : m,即monitor表示保持事件监听状态
r,即recursive表示递归查询目录
q,打印出监控事件
-e 即event指定要监控的事件,常见事件有modify,close_write,delete,create,attrib等
modify 可用 close_write 代替,close_write适用于写入大文件需要一段时间时
给rsync.sh加上x权限
[root@A ~]# chmod a+x rsync.sh
4)在A系统创建/etc/server.pass 内容密码为ixdba123,与B系统的backup:ixdba123一致
[root@A ~]# vim /etc/server.pass
ixdba123
5)后台启动rsync.sh
[root@A ~]# /root/rsync.sh &
[root@A ~]# ps -ef | grep rsync
root 2274 1 0 13:47 ? 00:00:00 /bin/bash /root/rsync.sh
root 2276 2274 0 13:47 ? 00:00:00 /bin/bash /root/rsync.sh
4.测试在A系统/var/www/html 写入一个文件或目录,是否及时同步到B系统/var/www/html