Rsync+Inotify实时同步

#实现两服务器文件实时同步

rsync:负责传输同步文件

inotify:负责监测文件变动

(服务端)# yum -y install rsync

上行同步

先部署无密码登陆远程服务器

# ssh-keygen -t rsa

# ssh-copy-id root@192.168.100.151

# rsync -avzH /kubernetes root@192.168.100.151:/

  • -v 输出详细信息
  • -z 压缩传输
  • -H 保持硬链接
  • -a 归档模式、保留文件权限、时间、链接、归属、特殊文件

部署Inotify文件监控

内核模块,监控文件和目录的变化,inotify-tools工具提供inotify-wait(持续监控)和inotify-watch(短期监控)两个模块进行监控

# tar -zxvf inotify-tools-3.13.tar.gz  -C  /usr/src/

# cd /usr/src/inotify-tools-3.13/

# ./configure  &&make &&make  install

# ls  /usr/local/bin/inotify*

# vi  /etc/sysctl.conf

  • fs.inotify.max_queued_events = 16384                ##监控事件队列数
  • fs.inotify.max_user_instances = 1024            ##监控实例数

  • fs.inotify.max_user_watches = 1048576                 ##监控的文件数量

# sysctl -p

  #监控文件内容的各种变化

# inotifywait -mrq  -e  modify,create,attrib,move,delete  /kubernetes-yaml

注:-m持续监控,r递归目录,q简化输出,-e指定监控事件:modify修改、create创建、attrib权限修改、move移动、delete删除;在其他终端操作文件,查看变化

#编写脚本

# vim rsync_inotify.sh

#!/bin/bash
RSYNC="rsync -avzH /kubernetes-yaml root@192.168.100.151:/ --delete"
INT_CMD="inotifywait -mrq -e modify,create,move,delete,attrib /kubernetes-yaml"
$INT_CMD |while read DIRECOTRY EVENT FILE;do
$RSYNC
done

# chmod  +x  rsync_inotify.sh

#后台运行

# rsync_inotify.sh  &

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值