Linux rsync安装配置实现数据同步

安装环境:Centos 5.5  两台服务器端ip:192.168.1.36  客户端ip:192.168.1.37
安装目的:Linux 各服务器之间同步文件,保持文件的一致性,也可以是群集服务器之间的同步方案。
安装步骤:

一、下载rsync版本

下载当前最新稳定版本:(虽然系统已经安装,我们这里使用下载编译的:)

cd  /usr/src 下:

wget  http://rsync.samba.org/ftp/rsync/src/rsync-3.0.7.tar.gz

二、解压rsync

tar  xzf  rsync-3.0.7.tar.gz  &&  cd rsync-3.0.7  &&  ./configure –prefix=/usr/local/rsync && make && make install   (至此rsync安装完毕)

三、安装配置rsync
[root@nginx_master data]# vi /etc/rsyncd.conf
uid=nobody
gid=nobody
max connections=36000
use chroot=no
log file=/var/log/rsyncd.log
pid file=/var/run/rsyncd.pid
lock file=/var/run/rsyncd.lock
[htdocs]
comment= backup htdocs
path=/data/htdocs
ignore errors
read only = no
host allow = 192.168.1.37
host deny=*
secrets file=/etc/rsyncd.passwd
auth users=work

以上是rsyncd.conf文件的内容,下面是注释*

[htdocs]   # 要同步的模块名
path = /data/htdocs    #要同步的目录
comment =  backup htdocs #这个名名称无所谓,最后模块名一直)
read only = no      # no客户端可上传文件,yes只读
write only = no      # no客户端可下载文件,yes不能下载
#list = yes              #是否提供资源列表
auth users =work  #登陆系统使用的用户名,没有默认为匿名。
hosts allow = 192.168.1.37  #本模块允许通过的IP地址
hosts deny = *    #禁止主机IP
secrets file=/etc/rsync.passwd  #密码文件存放的位置

四、设置rsync服务器端同步密钥

vi    /etc/rsync.passwd

username:userpasswd (表示用户名:密码)

我的rsync.passwd如下:

work:olinux

保存完毕,chmod 600  /etc/rsync.passwd 更改权限。

五、rsync启动守护进程

默认端口为tcp 873 ,如图:

Linux rsync安装配置实现数据同步

六、服务器端部署完毕,设置客户端

既然服务端设置了密钥,可以端的密钥就得与服务器端一致:

vi  /etc/rsync.passwd  输入服务器端密码:

olinux

保存即可开始同步:执行如下语句

rsync -aP  –delete   work@192.168.1.36::htdocs /home/bak    –password-file=/etc/rsync.passwd
这里的【/home/bak 是客户端的目录,不是服务器的目录,也可以改成其他你需要同步的目录。】如果报错如下:

[root@nginx_slave home]# rsync -aP –delete work@192.168.1.36::htdocs /home/bak –password-file=/etc/rsyncd.passwd
password file must not be other-accessible
continuing without password file
Password:
@ERROR: auth failed on module htdocsrsync error: error starting client-server protocol (code 5) at main.c(1506) [Receiver=3.0.7]

解决办法: chmod  600  /etc/rsync.pas  (密码文件不能让其他访问 O(∩_∩)O~)

【注意*  @前面的work是认证的用户名,htdocs是rsync服务器端的模块名称】

ps -ef |grep rsync
root      6626     1  0 13:56 ?        00:00:00 /usr/local/rsync/bin/rsync –daemon
root      6636  2641  0 13:58 pts/0    00:00:00 grep rsync

如果想重启的话必须得删除:/var/run/rsync.pid如下方式:

kill -9 6626
rm -rf /var/run/rsync*
/usr/local/rsync/bin/rsync –daemon

 

您可以选择一种方式赞助本站

支付宝转账赞助

支付宝扫一扫赞助

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

图片 表情