企业实战项目rsync+inotify实现实时同步

目录

一、inotify安装和介绍

1. 安装inotify

2. inotify-tools常用命令

3. rsync + inotify 实践

3.1 服务端配置

3.2 客户端配置


一、inotify安装和介绍

1. 安装inotify

yum install epel-release -y

yum install inotify-tools -y

2. inotify-tools常用命令

 inotify-tools 包含了两个命令:inotifywait 与 inotifywatch。

(1)inotifywait:在被监控的文件或目录上等待特定文件系统事件发生,执行后处 于阻塞状态,适合在shell脚本中使用。

(2)inotifywatch:用于收集文件系统的统计数据,例如发生了多少次 inotify 事 件,某文件被访问了多少次等等。

3. rsync + inotify 实践

部署sync+inotify同步客户端/slave目录至目标服务器的/slave/下:

3.1 服务端配置

目标服务器rsync配置,也可以使用之前的

创建rsync用户 

useradd -s /sbin/nologin -M rsync 

创建数据备份储存目录,目录修改属主

mkdir /slave/

chown -R rsync:rsync /slave/

创建认证用户密码文件

echo "rsync_slave:nebula123" >>/etc/rsync.passwo rd

chmod 600 /etc/rsync.password

3.2 客户端配置

客户端的认证文件只需要有密码即可

echo "nebula123" >>/etc/rsync.password

chmod 600 /etc/rsync.password

vim inotify.sh

#!/bin/bash
host=192.168.150.15
src=/slave
des=slave
password=/etc/rsync.password
user=rsync_slave
inotifywait=/usr/bin/inotifywait
$inotifywait -mrq --timefmt '%Y%m%d %H:%M' --format '%T %w%f%e' -e modify,delete,create,attrib $src \
| while read files;do
        rsync -avzP --delete --timeout=100 --password-file=${password} $src $user@$host::$des
        echo "${files} was rsynced" >>/tmp/rsync.log 2>&1
done

sh inotify.sh

开另一个终端随便创建一个文件

touch awm

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值