首页 > 代码库 > Rsync实现服务器间文件数据同步配置实例

Rsync实现服务器间文件数据同步配置实例

> os: ubuntu 12.04 server

> server: 192.168.33.201

> client: 192.168.33.202


## 什么是rsync?

> rsync是Unix下的一款应用软件,它能同步更新两处计算机的文件与目录,并适当利用差分编码以减少数据传输。rsync中一项与其他大部分类似程序或协议中所未见的重要特性是镜像对每个目标只需要一次传送。rsync可拷贝/显示目录属性,以及拷贝文件,并可选择性的压缩以及递归拷贝。


## rsync的安装

sudo apt-get  install  rsync


## 配置rsync服务器 server

mkdir /etc/rsyncd                     #创建配置目录
touch /etc/rsyncd/rsyncd.conf         #创建主配置文件
touch /etc/rsyncd/rsyncd.secrets      #创建用户密码文件
chmod 600 /etc/rsyncd/rsyncd.secrets  #修改用户密码文件权限
touch /etc/rsyncd/rsyncd.motd         #创建定义服务信息的文件


### 编辑主配置文件

vim /etc/rsyncd/rsyncd.conf

pid file = /var/run/rsyncd.pid
port = 873 #监听端口
address = 192.168.33.201 #监听地址
uid = root
gid = root
use chroot = yes #是否限制在指定目录,为了安装,一般需要启用
read only = no
hosts allow=192.168.33.0/255.255.255.0 #允许网段
hosts deny=*
max connections = 5
motd file = /etc/rsyncd/rsyncd.motd
log format = %t %a %m %f %b
syslog facility = local3
timeout = 300
#定义一个同步目录
[webhome]
path = /usr/share/nginx/www
list = yes
ignore errors
auth users = nginx
secrets file = /etc/rsyncd/rsyncd.secrets #指定上述账号密码文件
comment = web home
exclude = data/ #排除目录


vim /etc/rsyncd/rsyncd.secrets

#Account and password
#注意:这里账号虽然用的是系统账号,但是密码是自定义的密
nginx:password123


### 启动使rsync生效

rsync --daemon --config=/etc/rsyncd/rsyncd.conf



## rsync客户端实现数据同步


> 安装同上


### 配置rsync客户端 client

mkdir /etc/rsync
echo "password123" > /etc/rsyncd/rsyncd.password
chmod 600 /etc/rsyncd/rsyncd.password


### 同步

rsync -avzP --password-file=/etc/rsyncd/rsyncd.password  nginx@192.168.33.201::webhome /usr/share/nginx/www


> 将同步命令加入计划任务定时同步即可


Rsync实现服务器间文件数据同步配置实例