rsync + inotify实现文件实时同步

rsync + inotify实现文件实时同步

服务端主机: 192.68219.132
客户端主机:192.168.219.140
端口:873
部署用户:root 或者 非root用户配有sudo权限用户

rsync 服务端部署及配置

创建同步用户:rsync

[root@node132 ~]# useradd rsync
[root@node132 ~]# passwd rsync 
输入两次密码

创建备份目录

mkdir /data/rsync
chown rsync:rsync /data/rsync

修改配置文件
vim /etc/rsyncd.conf

uid = rsync
gid = rsync
use chroot = no
max connections = 20
pid file = /home/rsync/rsyncd.pid
log file = /home/rsync/rsyncd.log
lock file = /home/rsync/rsyncd.lock
secrets file = /etc/rsyncd.passwd

[backup]
path = /data/rsync
ignore error
read only = false
list = false
auth users = rsync
list = no

修改认证文件
vim /etc/rsyncd.passwd

rsync:yourpasswd

修改认证文件权限

chmod 600 /etc/rsyncd.passwd

启动服务端

rsync --daemon --config=/etc/rsyncd.conf

rsync 客户端部署及配置

修改配置文件
vim /etc/rsyncd.conf

log file = /var/log/rsyncd.log

修改认证文件
vim /etc/rsyncd.passwd

server rsync's passwd
# 注:客户端密码文件中只需要填写服务端rsync的密码即可

启动服务端

rsync --daemon

客户端配置 inotify 服务
上传inotify安装包

http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz

tar -xf inotify-tools-3.14.tar.gz && cd inotify-tools-3.14
./configure
make && make install

创建 inotify 脚本
vim monitor.sh

#!/bin/bash
SRC=/data/
DEST=rsync@192.168.219.132::backup


/usr/local/bin/inotifywait -mrq -e modify,delete,create,attrib ${SRC} | while read status

do
    /usr/bin/rsync -rltDvz /data/ $DEST --password-file=/etc/rsyncd.passwd
    echo "`date +'%Y-%m-%d %H:%M:%S'`  ${status} to ${DEST}" >> /home/rsync/rsync.log
done

添加执行权限

chmod +x monitor.sh

启动后台运行

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值