858 views
Liunx-服务安装

Rsync+inotify实时同步

在企业日常web应用中,某些特殊的数据需要要求保持跟服务器端实时同步,那我们该如何来配置呢?如何来实现呢?这里可以采用rsync+inotify来实现需求。

Inotify 是一个 Linux特性,它监控文件系统操作,比如读取、写入和创建。Inotify 反应灵敏,用法非常简单,并且比cron 任务的繁忙轮询高效得多。

Rsync安装完毕后,需要安装inotify文件检查软件。同时为了同步的时候不需要输入密码,这样可以使用ssh免密钥方式进行同步。

一、安装

下载地址:http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz

[code]tar zxf inotify-tools-3.14.tar.gz; cd inotify-tools-3.14

./configure

make &&make install [/code]

二、配置auto_inotify.sh同步脚本

首先需要将两台服务器免密钥

[code]

ssh-keygen -t rsa -P ”

ssh-copy-id root@192.168.77.73

[/code]

vim auto_inotify.sh

[code]

#!/bin/sh

##本地需要同步的目录###

src=/www/

###远程目录##

des=/www/

ip=192.168.77.73

inotifywait -mrq –timefmt ‘%d/%m/%y-%H:%M’ –format ‘%T %w%f’ -e modify,delete,create,attrib ${src} | while read file

do

rsync -aP –delete $src root@$ip:$des

done

[/code]

在服务器端后台启动该脚本,nohup sh auto_inotify.sh & ,在服务器端目录新建或者删除,客户端都会实时进行相关操作

inotifywait 参数详解:https://www.cnblogs.com/wajika/p/6396748.html

Leave a Reply

影子专属博客 赣ICP备17013143号