CentOS6.5平台上rsync服务器安装配置方法简述
本文实例讲述了CentOS6.5平台上rsync服务器安装配置方法。分享给大家供大家参考,具体如下:
rsync安装
#检查是否安装过rsync,如果已经安装过需要卸载 rpm-qa|greprsync #安装了rsync卸载 rpm-ersync #下载最新rpm包(注意操作系统和位数的匹配) #rsync的rpm包列表地址:http://pkgs.repoforge.org/rsync wgethttp://pkgs.repoforge.org/rsync/rsync-3.1.1-1.el6.rfx.x86_64.rpm #rpm包安装 rpm-ivhrsync-3.1.1-1.el6.rfx.x86_64.rpm
rsync服务端配置
启动配置
1.选择rsync服务器启动方式
①rsync服务器负载比较高,则使用独立启动模式
②rsync服务器负责较低,使用xinetd运行方式
2.创建配置文件rsyncd.conf
3.对于非匿名方式访问的rsync服务器创建配置口令(建议配置需要口令访问)
CentOS默认以xinetd模式运行rsync,rsync的xinetd配置文件是/etc/xinetd.d/rsync
如果配置rsync以xinetd模式运行,执行如下命令
chkconfigrsyncon servicexinetdrestart #如果执行servicexinetdrestart发现xinetd:unrecognizedservice则未安装xinetd服务 #执行yuminstallxinetd安装xinetd服务 #安装之后启动xinetd服务(servicexinetdstart)
编辑rsync的xinetd配置文件/etc/xinetd.d/rsync文件,修改参数server_args=--daemon--config=/etc/rsyncd/rsyncd.conf可以配置rsync服务器启动时的参数
如果使用独立运行模式,则执行如下命令
/usr/bin/rsync--daemon #编辑/etc/rc.local文件加入/usr/bin/rsync--daemon保证每次开机启动都会自动启动rsync服务
配置文件
#创建rsync服务目录 mkdir/etc/rsyncd #创建配置文件 touch/etc/rsyncd/rsyncd.conf #创建密码文件 touch/etc/rsyncd/rsyncd.passwd #权限修改 chownroot:root/etc/rsyncd/rsyncd.passwd chmod600/etc/rsyncd/rsyncd.passwd
配置文件语法介绍
1.模块
以[模块名称]开始
2.参数配置行
格式name=value
其中value的值可以是string(可以不使用引号)或者boolean(0/1,true/false,yes/no)
3.以#开始是注释行
4.以\是续行符
全局参数([模块名称]之外的配置均为全局配置)
address
在独立运行时,用于指定的服务器运行的IP地址。由xinetd运行时将忽略此参数,使用命令行上的–address选项替代
默认值本地所有IP
port
指定rsync守护进程监听的端口号。由xinetd运行时将忽略此参数,使用命令行上的–port选项替代。
默认值是873
motdfile
指定一个消息文件,当客户连接服务器时该文件的内容显示给客户。
默认值无
pidfile
rsync的守护进程将其PID写入指定的文件。
默认值无
logfile
指定rsync守护进程的日志文件,而不将日志发送给syslog。
默认值无
syslogfacility
指定rsync发送日志消息给syslog时的消息级别
默认值daemon
socketoptions
指定自定义TCP选项。
默认值无
模块参数
模块参数主要用于定义rsync服务器哪个目录要被同步。模块声明的格式必须为[module]形式,这个名字就是在rsync客户端看到的名字,类似于Samba服务器提供的共享名。而服务器真正同步的数据是通过path来指定的。可以根据自己的需要,来指定多个模块,模块中可以定义以下参数:
1.基本模块参数
path
指定当前模块在rsync服务器上的同步路径,该参数是必须指定的
comment
给模块指定一个描述,该描述连同模块名在客户连接得到模块列表时显示给客户
2.模块控制参数
usechroot
若为true,则rsync在传输文件之前首先chroot到path参数所指定的目录下。这样做的原因是实现额外的安全防护,但是缺点是需要root权限,并且不能备份指向path外部的符号连接所指向的目录文件。
默认值true
uid
指定该模块以指定的UID传输文件。
默认值nobody
gid
指定该模块以指定的GID传输文件。
默认值nobody
maxconnections
定该模块的最大并发连接数量以保护服务器,超过限制的连接请求将被告知随后再试。
默认值0不限制
readonly
指定是否允许客户上传文件。若为true则不允许上传;若为false并且服务器目录也具有读写权限则允许上传。
默认值true
writeonly
指定是否允许客户下载文件。若为true则不允许下载;若为false并且服务器目录也具有读权限则允许下载。
默认值false
3.模块认证参数
hostsallow
用一个主机列表指定哪些主机客户允许连接该模块。不匹配主机列表的主机将被拒绝
默认值*
客户主机列表定义可以是以下形式:
单个IP地址例如:192.168.0.1
整个网段例如:192.168.0.0/24,192.168.0.0/255.255.255.0
可解析的单个主机名例如:centos,centos.bsmart.cn
域内的所有主机例如:.bsmart.cn
“”则表示所有。
多个列表项要用空格间隔。
hostsdeny
用一个主机列表指定哪些主机客户不允许连接该模块。
默认值空
authusers
指定由空格或逗号分隔的用户名列表,只有这些用户才允许连接该模块。这里的用户和系统用户没有任何关系。用户名和口令以明文方式存放在secretsfile参数指定的文件中
默认匿名
secretsfile
指定一个rsync认证口令文件。只有在authusers被定义时,该文件才起作用。
默认值空
strictmodes
指定是否监测口令文件的权限。若为true则口令文件只能被rsync服务器运行身份的用户访问,其他任何用户不可以访问该文件。
默认值true
>-rsync认证口令文件的权限一定是600,否则客户端将不能连接服务器。
rsync认证口令文件中每一行指定一个用户名:口令对,格式为:username:passwd
一般来说口令最好不要超过8个字符。若您只配置匿名访问的rsync服务器,则无需设置上述参数。
配置文件实例
#GLOBALOPTIONS uid=root gid=root usechroot=no readonly=yes #limitaccesstoprivateLANs hostsallow=172.16.0.0/255.255.0.0192.168.1.0/255.255.255.010.0.1.0/255.255.255.0 hostsdeny=* maxconnections=5 pidfile=/var/run/rsyncd.pid secretsfile=/etc/rsyncd/rsyncd.secrets #lockfile=/var/run/rsync.lock #motdfile=/etc/rsyncd/rsyncd.motd #Thiswillgiveyouaseparatelogfile #logfile=/var/log/rsync.log #Thiswilllogeveryfiletransferred-upto85,000+peruser,persync transferlogging=yes logformat=%t%a%m%f%b syslogfacility=local3 timeout=300 #MODULEOPTIONS [davidhome] path=/home/david/ list=yes ignoreerrors authusers=david comment=Davidhome exclude=important/ [chinatmp] path=/tmp/china/ list=no ignoreerrors authusers=china comment=tmp_china
密码文件
david:asdf#格式用户名:口令 china:jk#该用户不要求是系统用户
查看rsync服务是否启动
netstat-an|grep873
rsync客户端
#安装客户端 yum-yinstallrsync #同步命令 #-a参数,相当于-rlptgoD #-r是递归-l是链接文件,意思是拷贝链接文件;-p表示保持文件原有权限 #-t保持文件原有时间;-g保持文#件原有用户组;-o保持文件原有属主;-D相当于块设备文件 #-z传输时压缩; #-P传输进度; #-v传输时的进度等信息,和-P有点关系,自己试试。可以看文档; #同步 rsync-avzPdavid@172.16.1.135::davidhome/tmp/david/ #客户端数据和服务器端数据保持一致 rsync-avzP--deletedavid@172.16.1.135::davidhome/tmp/david/ #指定传输时候的密码文件,密码文件权限600 rsync-avzP--delete--password-file=/tmp/rsync.passworddavid@172.16.1.135::davidhome/tmp/david/
希望本文所述对大家CentOS服务器配置有所帮助。