您的位置:首页 > 其它

rsync + inotify

2015-08-21 17:54 253 查看


服务器端配置:

1 服务器10.130.193.178配置

1) 安装服务器软件xinetd超级守护进程.调用rsync这个进程.

# yum -y install xinetd

# vim /etc/xinetd.d/rsync

将 disabled = yes 改为 disabled = no 表示启用这个进程

2) 给rsync提供配置文件 /etc/rsyncd.conf

# vim /etc/rsyncd.conf

# Global Settings

uid = nobody 表示启动rsync这个服务的用户

gid = nobody

use chroot = no 表示是否锁定用户到指定目录

max connections = 10 表示最大的并发连接数目

strict modes = yes 表示开启严格检查模式

pid file = /var/run/rsyncd.pid

log file = /var/log/rsyncd.log

# Directory Settings

[mydata] 这个是sync_directory

path = /mydata/data 这个是定义发布的目录

ignore errors = yes 表示如果出现错误就忽略继续复制

read only = no 表示是否允许推送数据到服务器

write only = no 表示是否允许从服务器拉取数据

hosts allow = 10.130.193.0/24 表示允许的IP地址

hosts deny = * 表示拒绝的IP

# 注意:如果以上的2个参数一起出现,是这样的,就是先匹配hosts allow 如果匹配成功就通过,如果匹配不成功就匹配hosts deny ,如果hosts deny也没有匹配成功那么使用默认的规则通过.

list = no

auth users = username 指定虚拟用户

secrets file = /etc/rsyncd.passwd

uid = root 这个是我们在服务器上操作发布目录的用户 如果不写那么就是nobody这个用户

gid = root

3) 提供密码文件 /etc/rsyncd.passwd这个文件是密文存储数据的所以文件的权限是600

# vim /etc/rsyncd./conf

rsyncduser:123456

# chmod 600 /etc/rsyncd.conf

4) 启动服务

service xinetd start

ss -tnl 查看rsync监听的端口号码是 tcp:873

2 服务配置 10.130.193.179 同上.

3 客户端的配置.

1) 安装inotify-tools工具包

# tar xvf inotify-tools-3.14.log -C /usr/src

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

# ./configure

# make && make install

#ln -sv /usr/local/inotify/include /usr/include/inotify

# vim /etc/ld.so.conf.d/inotify

/usr/local/inotify/lib

# ldconfig

# vim /etc/profile.d/inotify.sh

export PATH=$PATH:/usr/local/inotify/bin

2) 编写inotify脚本

vim inotify.sh

#!/bin/bash

inotifywait -mrq --timefmt '%Y-%m-%d %H:%M:%S' --format '%T %w%f %e' -e modify,delete,create,attrib /mydata/data | while read file

do

rsync -az --progress --delete /mydata/data/ rsync://rsyncduser@10.130.193.178/mydata && \

rsync -az --progress --delete /mydata/data/ rsync://rsyncduser@10.130.193.179/mydata

echo ${file} >> /var/log/rsyncd.log 2>&1

done

配置结束

--------------------------------------------------------------

inotifywait 参数:

inptifywait [option] -e events dest_path

-m motifier 表示始终在指定木邻居监测

-r recursive 表示递归监测

-q quiet 表示静默模式

--timesfmt 表示时间的格式

--format 表示输出数据的格式

-e 指定监测的事件类型

rsync 的工作模式:

1 本地shell模式

-a archive 表示归档 就是保留文件的原有属性

--progress 表示显示传输文件的进度

2 远程shell模式

-a archive 表示归档

--progress

-e ssh 使用ssh对数据加密

-z 对数据加密传输

3 列表模式

4 服务器模式

-a archive 表示归档

--progress

-z 加密传输

--delete 就是如果源目录参数后面有/ 那么这个参数表示要删除目标目录中多余的文件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: