centos7部署rsync,inotify

安装部署Rsync,inotify


服务端IP:192.168.1.101
客户端IP:192.168.1.102

服务端配置

(1)安装rsync,执行以下命令(这里采用yum安装,也可以选择源码包安装)
#yum -y install rsync
(2)配置Rsync(服务端)
安装完毕之后,配置rsync配置文件,如果/etc/rsyncd.conf不存在,则需要手动创建一个rsyncd.conf配置文件,
#vim /etc/rsyncd.conf
配置内容为如下:

#工作中指定用户(可以不指定为0)
uid = 0
gid = 0
#出错定位
use chroot = no
##有多少个客户端同时传文件
max connections =200
##超时时间
timeout = 300
##进程号文件
pid ifle = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
##日志文件
log file = /var/log/rsyncd.log
##模块开始(可以自定义)
[AA]
##需要同步的目录
path = /data/test
##表示出现错误忽略错误
ignore errors
##表示网络权限可写
read only = no
##这里设置IP或让不让同步
list = false
#允许的ip或者ip段
hosts allow = 192.168.1.102
##拒绝,以下表示都不拒绝
hosts deny = 0.0.0.0/32
##认证用户
auth users=aa
##用户名和密码存放文件
secrets file = /etc/rsync.pass

(3)创建Rsync同步密匙文件
#vim /etc/rsync.pass
内容如下:
aa:aa #用户名:密码
//设置权限
#chmod 600 /etc/rsync.pass
//创建同步目录
#mkdir -p /data/test
(4)启动Rsync服务
后台运行rsync服务
#rsync --daemon --config=/etc/rsyncd.conf

客户端配置

(1)配置客户端,安装rsync命令
#yum -y install rsync
(2)创建rsync密匙文件
#vim /etc/rsync.pass
只输入密码aa,不用输入用户名
(3)测试
在服务端创建测试文件
#touch /data/test/text.txt
在客户端执行创建同步目录
#mkdir -p /data/test
客户端执行同步命令
#rsync -aP --delete aa@192.168.1.101::AA /data/test/ --password-file=/etc/rsync.pass
如图服务端/data/test下的text.txt同步到客户端

inotify监控

客户端:
(1)安装inotify-tools工具,实时触发rsync进行同步
//查看服务器内核是否支持inotify
#ll /proc/sys/fs/inotify/

(2)下载inotify的tar包
#wget http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz
(3)解压和编译安装
#tar zxvf inotify-tools-3.14.tar.gz
#cd inotify-tools-3.14
#./configure
#make && make install
(4)编写inotify的监控脚本,运行脚本并查看日志
#vim 2.sh

#!/bin/bash
host1=192.168.1.101  ##目标服务器
src=/data/test/      ##同步文件夹
dst1=AA              ##/etc/rsyncd.conf 定义的模块名
user1=aa             ##/etc/rsyncd.conf 认证用户
/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 files
do
        /usr/bin/rsync -vzrtopg --delete --progress --password-file=/etc/server.pass $src $user1@$host
1::$dst1 > /dev/null 2>&1
        echo "${files} was rsynced." >> /tmp/rsync.log 2>&1
done

启动脚本
#bash -s 2.sh
#nohup bash 2.sh &
查看是否有脚本线程
#ps -ef|grep inotify

在客户端创建文件并查看日志
#touch /data/test/1.txt
#echo “hello 666”>>/data/test/1.txt
#tail /tmp/rsync.log

(5)客户端上传文件到服务端,在服务端上查看是否成功
#rsync -avz --password-file=/etc/rsync.pass /data/test aa@192.168.1.101::AA

服务端查看是否成功

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值