rsync+inotify实现实时同步更新

简介:

rsync

工作模式:

1、单个主机,cp

2、ssh通道,scp

3、守护进程

rsync -avzP /1 /tmp

rsync --delete -r /2/ /1(删除1下的2目录)

rsync /etc/hosts -e 'ssh -p 52113' root@ip:/

-z:压缩传输

-a:子目录递归

-o:保持文件属主

-p:保持文件权限

-g:保持文件属组

-l:保持链接文件

--exclude:指定不需要传输的文件或文件夹

--exclude-from:

守护进程模式:

vim /etc/rsyncd.conf

添加:

log file=/var/log/rsync.log

pid file=/var/run/rsyncd.pid

use chroot = no

timeout = 300

[test]

path=/tmp/syk/

use chroot=true

max connections=4

read only=no

list=true

uid=root

gid=root

auth users=syk

secrets file=/etc/rsyncd.passwd

创建用户:

groupadd rsync

useradd  -g rsync rsync -s /sbin/nologin

chown -R rsync.rsync /tmp/syk/

rsync --daemon(启动)

cat /etc/rsyncd.passwd 

syk:syk123

chmod 600 /etc/rsyncd.passwd

客户端:

yum -y install rsync

echo "syk123" > /etc/rsyncd.passwd

chmod 600 /etc/rsyncd.passwd

测试:

rsync -avz syk@server_ip::test /tmp

rsync -avz syk@server_ip::test /tmp --password-file=/etc/rsyncd.passwd

rsync -avz rsync://syk@server_ip/test /tmp --password-file=/etc/rsyncd.passwd

无差异同步:

--delete


inotify

inotifywait:

-r:递归

-q:打印很好的信息

-exclude:指定不需要监控的文件或文件夹

-e:指定需要监控的事件

access:目录或文件被访问时

nodify:被修改

attrib:属性被修改时

close:文件被封闭

open:被打开

moved_to:被移动其他目录

move:被移动到当前或其他目录

create:被创建

delete:被删除

unmount:被卸载

    人工测试监控事件:

./bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e create /backup

./bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e create,delete /backup

./bin/inotifywait -mrq  --format '%w%f' -e create,delete /backup

编写监控脚本:

#/bin/bash

/usr/local/inotify/bin/inotifywait -mrq --format '%w%f' -e create,delete /tmp/syk/ \

|while read line

do

rsync --delete -az  /tmp/syk/ syk@192.168.137.52::test --password-file=/etc/rsyncd.passwd >/dev/null 2>&1

done

exit 0




本文转自 sykmiao 51CTO博客,原文链接:http://blog.51cto.com/syklinux/1851902,如需转载请自行联系原作者

相关文章
|
6月前
|
监控 安全 Unix
Rsync+Inotify实现数据实时同步
Rsync+Inotify实现数据实时同步
|
监控
inotify+rsync实现实时同步数据
inotify+rsync实现实时同步数据
114 0
|
监控 Linux
rsync+inotify实时同步
rsync+inotify实时同步
|
监控 安全 Shell
使用 inotify 和 rsync 实现文件实时同步
使用 inotify 和 rsync 实现文件实时同步
308 1
|
监控 Linux
配置inotify + rsync 实现实时同步
配置inotify + rsync 实现实时同步
268 0
配置inotify + rsync 实现实时同步
|
监控 测试技术 Linux
rsync+inotify实时同步案例
rsync+inotify实时同步案例 随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐渐暴露出了很多不足,首先,rsync同步数据时,需要扫描所有文件后进行比对,进行差量传输。
1263 0
|
监控 安全 Shell
inotify+rsync实现实时同步
1.1 什么是实时同步:如何实现实时同步 要利用监控服务(inotify),监控同步数据服务器目录中信息的变化 发现目录中数据产生变化,就利用rsync服务推送到备份服务器上 1.2 实现实时同步的方法    inotify+rsync 方式实现数据同步    sersync 方式实现实时数据同步 详情参照:http://www.cnblogs.com/clsn/p/7707828.html 1.2.1 实时同步原理介绍   1.3 inotify+rsync 方式实现数据同步 1.3.1 Inotify简介   Inotify是一种强大的,细粒度的。
1852 0
|
Web App开发 监控 网络协议