除了可以使用 rsync 密钥进行同步之外,还有一个比较简单的同步方法就是基于 linux ssh 来同步。具体方法如下:
rsync -aP --delete root@192.168.0.10:/data/www/webapps
/data/www/webapps ,如果想每次同步不输入密码,需要做 Linux 主机之间免密码登录。
Rsync 实时同步配置
rsync+inotify 来实现需求。
Inotify 是一个 Linux 特性,它监控文件系统操作,比如读取、写入和创建。Inotify 反应灵敏,用法非常简单,并且比 cron 任务的繁
忙轮询高效得多。
Rsync 安装完毕后,需要安装 inotify 文件检查软件。同时为了同
步的时候不需要输入密码,这样可以使用 ssh 免密钥方式进行同步。
安 装 inotify-tools-3.14.tar.gz 软 件 , tar –xzf
inotify-tools-3.14.tar.gz ;./configure ;make
;make install 即可。配置 auto_inotify.sh 同步脚本,内容如下:
!/bin/sh
src=/data/webapps/www
des=/home/webapps/
ip=192.168.0.11
inotifywait -mrq --timefmt '%d/%m/%y-%H:%M' --format '%T %w%f'
-e modify,delete,create,attrib ${src} | while read file
do
for i in $ip
do
/usr/local/rsync/bin/rsync -aP --delete $src
root@$ip:$des
done
done
在服务器端后台启动该脚本,nohup sh auto_inotify.sh & ,在服务器端目录新建或者删除,客户端都会实时进行相关操作。