Rsync+inotify实时数据同步 rsync服务端的配置
前提条件:rsync必须可以推送数据
测试命令:
rsync -avzP html_2018-11-06.tar.gz rsync_backup@172.26.130.59::heqing
(部署rsync不熟悉的,可以看我之前发布的博客https://blog.csdn.net/weixin_41711331/article/details/83993077)
第一阶段:
1.查看当前系统是否支持inotify
ls -l /proc/sys/fs/inotify/
2.下载inotify包
mkdir -p /home/heqing/tools/
cd /home/heqing/tools/
wget http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz
3.编译安装inotify
tar zvxf inotify-tools-3.14.tar.gz
cd inotify-tools-3.14
./configure --prefix=/usr/local/inotify
make && make install
4.编写inotify实时监控脚本:
vim inotify.sh
#! /bin/bash
host=172.26.130.59 rsync服务端ip地址
src=/heqingback 节点主机inotofy本地监控目录
dst=heqing rsync中的模块名
user=rsync_backup rsync虚拟用户名
rsync_passfile=/etc/rsync.password rsync密码文件目录
inotify_home=/usr/local/inotify/ inotify编译安装地址
${inotify_home}/bin/inotifywait -mrq --timefmt ‘%d%m%y %H:%M’ --format ‘%T %w%f’ -e close_write,delete,create,attrib $src | while read file
do
cd $src && rsync -aruz -R --delete ./ --timeout=100
u
s
e
r
@
user@
user@host::
d
s
t
−
−
p
a
s
s
w
o
r
d
−
f
i
l
e
=
dst --password-file=
dst−−password−file={rsync_passfile} >/dev/null2>&1
done
exit 0
5.后台执行inotify监控脚本:
. inotify.sh &
6.查看命令脚本的执行程序是否在执行:
ps -ef | grep inotify
注意inotify-tools是部署在客户端上,别搞错了哦
完成部署–谢谢诶