RHEL5.4 rsync 服务器的部署

rysnc 是一个数据镜像及备份工具.具有可使本地和远程两台主机的文件.目录之间.快速同步镜像.远程数据备份等功能.在同步过程中.rsync是根据自己独特的算法.只同步有变化的文件.甚至在一个文件里只同步有变化的部分.所以可以实现快速的同步数据的功能.. 详细的信息请参考官方wiki

1         下载ryscn 源码包,并安装该软件

rsync-3.0.8.tar.gz

#tar xvf rsync-3.0.8.tar.gz

#cd rsync-3.0.8

#./configure  --prefix=/usr

#make  && ,make install

2             配置rsync ,创建rsync 有三个配置文件文件,分别是:

rsyncd.conf 为rsync 的主配置文件

rsyncd.motd 为rsync client 在进行复制文前,返回一些提示信息

rsyncd.secrets  为rsync 创建用户对应的密码文件

#mkdir  /etc/rsyncd

#cd /etc/rsyncd

#touch  rsyncd.conf

#touch  rsyncd.motd

#touch  rsyncd.secrets

3         应为rsync 是被超级守护进程xinetd 管理着,首先先修改超级守护进程中配置文件,修改后并重启xinetd

把disable = yes 修改为

disable =no

4         配置rsync 的主配置文件

#cd  /etc/rsyncd

#vim  rsyncd.conf

uid = nobody

gid = nobody

use chroot = yes

read only = yes

address=192.168.3.143

port=873

max connections = 5

timeout = 300

motd file =/etc/rsyncd/rsyncd.motd

pid file = /var/run/rsyncd/rsyncd.pid

log file = /var/log/rsyncd/rsyncd.log

lock file = /var/run/rsyncd/rsyncd.lock

hosts allow =192.168.3.139

hosts deny=*

transfer logging = yes

secrets file = /etc/rsyncd/rsyncd.secrets

#auth users = root

list = yes

[home]

path = /root/test

comment = product server home

exclude = EtnetChinaUI/public

[Frank]

path = /home/Frank

comment = product server www

exclude = logs/

注:auth users 在服务器上存在的真实的系统用户,如果想用多个用户可以用,号隔开

比如auth users = Frank,sanday

5         修改rsyncd.secrets

在该文件中每一行都是对应的用户名及密码,格式如下

username:password

#chmod 600 rsyncd.secrets

注:1  为了安全,文件属性必需为只读文件

2  为了安全再次设置的系统用户的密码,不能写系统中用户的真正的密码

6   配置rsyncd.motd 文件

该文件是定义rsync服务器的信息,也就是用户的登录信息,当然该处也不是必需的

7  rsync 的主配置文件的详解

A  全局定义

# 注:服务器在传输文件时要用哪个用户和用户组来执行,默认情况下是nobody,当用默认用户和用户组,可能会遇到权限问题,当然您也可以指定root用户来解决权限问题

uid = nobody

gid = nobody

#注:用chroot,在传输文件之前,服务器守护程序在将chroot到文件系统中的目录中,这样做的好处是可能保护系统被安全漏洞侵袭,缺点是需要超级用户权限.另外在对符号连接文件,将会排除在外.也就是说,在rsnc服务器上.如果用符号连接.在备份服务器上运行的客户端的同步数据时,只会把符号连接的名同步下来,并不会同步符号连接我额内容

use chroot = yes

#注: read only 是只读选择,机

read only = yes

#指定服务器的IP地址

address=192.168.3.143

#定义rsync 运行的端口,默认是873

port=873

#设置客户端最多连接数

max connections = 5

#设置客户端连接超时时间

timeout = 300

#注: motd file 是定义服务器上的信息,需要卸载rsyncd.motd 文件内容,当用户登录时看到该信息

motd file =/etc/rsyncd/rsyncd.motd

#rsync 的进程文件

pid file = /var/run/rsyncd/rsyncd.pid

#rsync的日志文件

log file = /var/log/rsyncd/rsyncd.log

#rsync的锁文件,防止多次启动rsync

lock file = /var/run/rsyncd/rsyncd.lock

#注: rsync 的传输文件的日志

transfer logging = yes

#设置允许的客户端

hosts allow =192.168.3.139

#设置不允许的客户端

hosts deny=*

#用户的密码文件

secrets file = /etc/rsyncd/rsyncd.secrets

#auth users = root

list = yes

B 模块定义

该处主要定义的是系统中哪个目录文件要被同步,每个模块都要以[Filename] 形式,该处定义的名字就是在rsync 客户端上看到的名字,该处和samba 比较类似.而真正要服务器同步的数据是通过path来指定.每个模块都要指定认证用户,密码文件,当然您也可以不指定

#模块为其提供了一个连接的名字

[home]

#指定文件目录所在位置,该处是必须指定的

path = /root/test

#认证用户是root ,是必须在服务器上存在的用户

auth users= root

#list 是把rsync 服务器上提供同步数据的目录在服务器上模块是否显示出来.默认是yes .如果是为了安全,可以把其设置为no

list = yes

#注释可以自己定义

comment = product server home

#密码文件

secrets file =/etc/rsyncd/rsyncd.secrets

#exclude 是排除在/root/test 目录下面的EtnetChinaUI/public 文件,当然如果要排除多个目录则需要在多个目录中用空格分开

exclude = EtnetChinaUI/public

[Frank]

path = /home/Frank

comment = product server www

exclude = logs/

8 启动rsync 服务

首先要产看iptables 是否关闭,如果iptables 未关闭,其可以先关闭iptables 当然你也可以在iptables 中添加相关的防火墙规则

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/pxxpz.html