使用rsync+inotify实现/www目录实时同步
配置服务器端
添加epel源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
安装inotify工具
yum install inotify-tools
配置vi /etc/rsyncd.conf
uid = root
gid = root
use chroot = no
max connections = 0
ignore errors
exclude = lost+found/
log file = /var/log/rsyncd.log pid file = /var/run/rsyncd.pid lock file = /var/run/rsyncd.lock reverse lookup = no
hosts allow = 10.211.11.0/24
[www]
path = /www
comment = www
read only = no
auth users = rsyncuser
secrets file = /etc/rsync.pass
创建rsync账号密码文件
echo "rsyncuser:centos" > /etc/rsync.pass
chmod 600 /etc/rsync.pass
创建同步目录
mkdir /www
启动服务
systemctl start rsyncd
客户端配置
配置epel源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
安装inotify工具
yum install inotify-tools
创建inotify连接密码文件
echo "centos" > /etc/rsync.pass
chmod 600 /etc/rsync.pass
用命令连接测试是否同步
rsync -avz --password-file=/etc/rsync.pass /www/ rsyncuser@10.211.11.10::www
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210311132336111.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xtNTIyNzc=,size_16,color_FFFFFF,t_70)
客户端创建inotify_rsync.sh脚本
SRC='/www/' DEST='rsyncuser@10.211.11.10::www'
inotifywait -mrq --timefmt '%Y-%m-%d %H:%M' --format '%T %w %f' -e create,delete,moved_to,close_write,attrib ${SRC} |while read DATE TIME DIR FILE;do
FILEPATH=${DIR}${FILE}
rsync -az --delete --password-file=/etc/rsync.pass $SRC $DEST && echo "At ${TIME} on ${DATE}, file $FILEPATH was backuped up via rsync" >> /var/log/changelist.log
done
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210311133016721.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xtNTIyNzc=,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210311133032195.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xtNTIyNzc=,size_16,color_FFFFFF,t_70)