1使用Linux的rsync命令实现 多服务器镜像同步
实现功能:当用户在本地客户端某目录内建立、修改、删除目录或文件、修改目录或文件的属性,只要执行相同的shell脚本,rsync就会自动找出有改动或删除的数据,将其传送到服务器上,使Linux服务器端某目录内的数据跟本地客户端某目录内的数据保持一致。
★方式一:
一、服务器端(例:10.0.0.1*):
1、创建用户和组
groupadd www -g 48
useradd -u 48 -g www www
mkdir -p /opt/htdocs
chmod +w /opt/htdocs
chown www:www /opt/htdocs
2、编辑rsync的配置文件
vi /etc/rsyncd.conf
输入以下内容:
uid=www
gid=www
max connections=10
use chroot=no
log file=/var/log/rsyncd.log
pid file=/var/run/rsyncd.pid
lock file=/var/run/rsyncd.lock
[zhangyan]
path=/opt/htdocs
comment = my htdocs
ignore errors
read only = no
hosts allow=10.0.0.21 10.0.0.22
3、启动rsync服务器端
/usr/bin/rsync --daemon
二、客户端(例:10.0.0.21和10.0.0.22):
1、创建一个shell脚本push.sh
vi push.sh
输入以下内容(10.0.0.1*为要推送到的目标服务器,zhangyan为服务器端rsyncd.conf配置文件中的模块名):
引用
#!/bin/sh
/usr/bin/rsync -vzrtopg --delete $1 10.0.0.10::zhangyan/
/usr/bin/rsync -vzrtopg --delete $1 10.0.0.11::zhangyan/
/usr/bin/rsync -vzrtopg --delete $1 10.0.0.16::zhangyan/
/usr/bin/rsync -vzrtopg --delete $1 10.0.0.19::zhangyan/
注:因为是内部局域网之间传输,这里没有设置密码...
详细请参考文档:
http://www.cnop.net/uploadfile/2013/0815/20130815021155121.doc