使用rsync+inotify实现/www目录实时同步

使用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


在这里插入图片描述

客户端创建inotify_rsync.sh脚本 

#!/bin/bash
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


在这里插入图片描述

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值