rsync~inotify同步复制

inotfy重要参数

用法实例

inotifywait -mrq -e modify,create,delete,attrib /data/ 

inotifywait -mrq -e modify,create,delete,attrib /data/

第一步

yum -y install epel-release   #下载网络源
yum list | grep inotify

yum -y install inotify-tools #安装

第二步

yum list | grep rsync  #显示能够下载版本

yum -y install rsync # 安装

以上两步 你有多少同步集群  就在多少上面做......

第三步 配置server(服务端)  client(客户端)。

首先在server (服务端)配置文件:

vim /etc/rsyncd.conf

uid = root
gid = root
use chroot = no                         # 安全相关
max connections = 2000                  # 并发连接数
timeout = 600                           # 超时时间(秒)
pid file =/var/run/rsyncd.pid           # 指定rsync的pid目录
lock file =/var/run/rsync.lock          # 指定rsync的锁文件【重要】
log file = /var/log/rsyncd.log          # 指定rsync的日志目录
ignore errors                           #忽略一些I/O错误
read only = false                       #设置rsync服务端文件为读写权限
list = false                            #不显示rsync服务端资源列表
hosts allow = 172.16.0.0/16             #允许进行数据同步的客户端IP地址,可以设置多个,用 
                                          英文状态下逗号隔开
hosts deny = 0.0.0.0/32                 #禁止数据同步的客户端IP地址,可以设置多个,用英文状 
                                          态下逗号隔开
auth users = rsync_backup               #执行数据同步的用户名,可以设置多个,用英文状态下逗 
                                         号隔开
secrets file =/etc/rsync.password       #用户认证配置文件,里面保存用户名称和密码
#################################################
[www]                                   # 模块 这是需要一会在群组上出创建的  用于连接显示是 
                                               否同步成功的文件夹,下面两个也是 
comment = www
path = /data/www/
#################################################
[bbs]
comment = bbs
path = /data/bbs/
#################################################
[blog]
comment = blog
path = /data/blog/
#rsync_config____________end

2.创建用户认证文件

echo  "rsync_backup:123456">/etc/rsync.password  #配置文件,

3.设置文件权限:

chmod 600 /etc/rsync.password 

4,启动:

rsync --daemon 

5 创建同步文件夹

mkdir -p /data/www              #一定要跟配置文件里面的写的目录一样  
mkdir -p /data/{www,bbs,blog}   # 如果是多台 可以这样写:

 6.server(服务端) 配置完毕,下面配置客户端连接........

客户端配置:

1. 创建rsync配置文件,客户端创建即可,无需内容

touch /etc/rsyncd.conf

2. .配置rsync客户端相关权限认证:

echo "123456">/etc/rsync.password  #服务端设置的密码  一定要一样 用于连接
 chmod 600 /etc/rsync.password     #权限很重要

3. 创建待同步数据,在客户端创建一些数据

mkdir -p /data/www      #用于连接文件同步

touch /data/www/www.lo   

如果是多台可以;
mkdir -p /data/{www,bbs,blog}

touch /data/www/www.log /data/bbs/bbs.log  /data/blog/blog.log

4. 测试rsync是否同步 (client上做)

cd /data/www

touch {1..3}.txt

rsync  -axzP /data/www/rsync_backup@192.168.111.196::www/   --password-file=/etc/rsync.password              # p是大写   开头有参数详解 ip是服务端的

#/data/www/表示本地需要同步的数据目rsync_backup@192.168.111.196::www表示服务端的指定名称的模块下  本条命令执行的操作为:将第一个路径参数下的文件同步到第二个路径参数下  即:推模式 调换路径则为:拉模式.....

5 在rsync-client 编写脚本

vim 1.sh
#!/bin/bash
/usr/bin/inotifywait -mrq --format '%w%f' -e close_write,modify,delete,create /data/www \
| while read line
do
cd /data/www && rsync -azP --delete ./ rsync_backup@192.168.111.196::www/ --password-file=/etc/rsync.password >/dev/null 2>&1
done
exit 0

6.执行脚本

sh 1.sh   #执行脚本  

目前inotify已经开始监控rsync-client下的 /data/www/目录,另开一个rsync-client的窗口,进入此目录进行增删改查,修改目录权限等操作后,在rsync-server /data/www/目录也会执行形同操作。

最终~  

在客户端     /data/www/     创建的所有文件  文档 ,实时同步 新增文件, 同步,只同步每次更新的文件  和新文件,已备份文件  不再增加。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值