实时同步需求
- 存储服务器有新数据产生就进行同步 如何发现指定目录中有数据变化
- 存储服务器要进行数据传输同步 如何进行数据传输同步
- 如何让监控数据变化程序+rsync传输数据程序 建立关系
操作前准备
两台虚拟机 (一台backup端)(一台nfs端)
backup端IP:172.16.1.41
nfs端IP :172.16.1.31
1.安装监控软件(服务端)
yum install -y inotify-tools ---安装inotify-tools
rpm -ql inotify-tools ---检查软件是否安装成功
2.部署rsync守护进程服务(服务端)
详情请看:https://www.jianshu.com/p/ce6ec1358449
服务端:安装软件 --> 编辑文件 --> 创建用户 --> 创建密码文件(授权)--> 创建备份目录(权限属主属组)--> 启动服务
客户端:创建密码文件(600)/etc/rsync.password--> 测试传输
3.编写脚本(服务端)
#!/bin/bash
inotifywait -mrq --format "%w%f" -e "close_write,move,create,delete" /data|\
while read line=oldboy02.txt
do
rsync -az --delete 共享的目录 rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password
done
执行脚本总有输出信息,并且脚本不能持续运行 & 让脚本后台运行
如何实现脚本在后台一直运行:
方法一: 执行脚本后面加上 &
sh /server/scripts/inotify_watch.sh & 连接断开,就后台进程会消失
方法二: 利用专用命令 nohup
nohup sh /server/scripts/inotify_watch.sh &
4.检查测试
如果在nfs端共享目录创建,删除那么backup端也会一样创建删除