一.使用rsync+inotify实现实时同步。
目标机器:parking:/data/x/fs_data
源机器:ifm1:/data/x/fs
安装rsync
源机器安装inotify-tools
在目标机器上编辑配置/etc/rsync.conf:
uid = root
gid = root
use chroot = no
max connections = 10
strict modes = yes
pid file=/var/run/rsyncd.pid
lock file=/var/run/rsyncd.lock
log file= =/var/run/rsyncd.log
[www]
path= /opt/bak/test
comment= analyse
read only = false
hosts allow = *
在源机器上安装inotify-tools工具;并创建inotify_bak.sh脚本:
#!/bin/bash
src=/data/x/fs/
/usr/local/bin/inotifywait -mrq --timefmt ‘%d/%m/%y %H:%M‘ --format ‘%T %w%f%e‘-e close_write,delete,create,attrib $src | while read file
do
/usr/bin/rsync -arzuq $src 10.6.20.43::www/
echo " ${file} was rsynced" >>/var/log/rsync.log2>&1
done
注意:这里的 www 是在目标服务器/etc/rsyncd.conf里配置的模块名称:[www]
赋予执行权限: chmod+x inotify_bak.sh
4.启动
目标服务器:先启动rsync后台服务:/usr/bin/rsync --daemon
来源服务器:执行inotify_bak.sh &
5. 测试:
在来源服务器目录中新建目录和文件,inotify_bak.sh脚本会检测到,然后同步到目标服务器的相关目录下
查看日志文件:/opt/soft/log/rsync.log 命令如下:观察实时同步的情况。
tail -f /opt/soft/log/rsync.log
原文地址:http://10267776.blog.51cto.com/10257776/1770131