RSYNC服务器模式

rsync 服务简介


上一节讲述了使用 rsync 客户命令进行同步和备份的内容。rsync 还可以以守护进程(daemon)方式运行,若一台主机以 daemon 模式运行 rsync,一般称其为 rsync 服务器。rsync 的 C/S 方式运行方式概述如下:

rsync 客户端连接远程 rsync 守护进程进行数据同步。
rsync 服务器端要开启 rsyncd 服务,默认监听 873 端口,等待客户端去连接。
rsync 服务器可以 独立运行,也可由 Xinetd 运行。CentOS 默认以 Xinetd 运行。
rsync 服务器启动时会读取配置文件,默认为 /etc/rsyncd.conf,其格式类似于 samba 的主配置文件。
用户验证由服务器负责,用户口令文件在 /etc/rsyncd.conf 中指明。
常用的服务选项有:

–daemon             表示以守护进程方式运行
–address=ADDRESS    将此服务绑定到指定的 IP 地址运行
–port=PORT          指定特殊的监听端口,默认为 873 端口
–bwlimit=KBPS       限制 I/O 带宽(单位为 KBytes/秒)
–config=FILE        指定配置文件,默认为 /etc/rsyncd.conf
–sockopts=OPTIONS   指定自定义 TCP 选项
-4, –ipv4           使用 IPv4
-6, –ipv6           使用 IPv6
 

配置 rsync 服务


配置 rsync 服务器的步骤
首先要选择服务器启动方式
对于负荷较重的 rsync 服务器应该使用独立运行方式
对于负荷较轻的 rsync 服务器可以使用 xinetd 运行方式
创建配置文件 rsyncd.conf
对于非匿名访问的 rsync 服务器还要创建认证口令文件

 

以 xinetd 运行 rsync 服务


CentOS 默认以 xinetd 方式运行 rsync 服务。rsync 的 xinetd 配置文件
在 /etc/xinetd.d/rsync。要配置以 xinetd 运行的 rsync 服务需要执行如下的命令:

# chkconfig rsync on
# service xinetd restart

管理员可以修改 /etc/xinetd.d/rsync 配置文件以适合您的需要。例如,您可以修改配置行

server_args = --daemon

在后面添加 rsync 的服务选项。

独立运行 rsync 服务


最简单的独立运行 rsync 服务的方法是执行如下的命令:

/usr/bin/rsync --daemon

您可以将上面的命令写入 /etc/rc.local 文件以便在每次启动服务器时运行 rsync 服务。当然,您也可以写一个脚本在开机时自动启动 rysnc 服务。

配置文件 rsyncd.conf


配置文件 rsyncd.conf 由全局配置和若干模块配置组成。配置文件的语法为:

模块以 [模块名] 开始
参数配置行的格式是 name = value ,其中 value 可以有两种数据类型:
字符串(可以不用引号定界字符串)
布尔值(1/0 或 yes/no 或 true/false)
以 # 或 ; 开始的行为注释
\ 为续行符

全局参数


在文件中 [module] 之外的所有配置行都是全局参数。当然也可以在全局参数部分定义模块参数,这时该参数的值就是所有模块的默认值。


模块参数


模块参数主要用于定义 rsync 服务器哪个目录要被同步。模块声明的格式必须为 [module] 形式,这个名字就是在 rsync 客户端看到的名字,类似于 Samba 服务器提供的共享名。而服务器真正同步的数据是通过path 来指定的。可以根据自己的需要,来指定多个模块,模块中可以定义以下参数:

1、基本模块参数

 

 
2、模块控制参数



3、模块文件筛选参数

 

一个模块只能指定一个 exclude 参数、一个 include 参数。
结合 include 和 exclude 可以定义复杂的 exclude/include 规则 。
这几个参数分别与相应的 rsync 客户命令选项等价,唯一不同的是它们作用在服务器端。
关于如何书写规则文件的内容请参见上节。

 

4、模块用户认证参数

rsync 认证口令文件的权限一定是 600,否则客户端将不能连接服务器。
rsync 认证口令文件中每一行指定一个 用户名:口令 对,格式为:

# 以 "#" 开始的行为注释行
username:passwd
# 一般来说口令最好不要超过8个字符。
若您只配置匿名访问的 rsync 服务器,则无需设置上述参数。


5、模块访问控制参数

 

客户主机列表定义可以是以下形式:
单个IP地址。例如:192.168.0.1
整个网段。例如:192.168.0.0/24,192.168.0.0/255.255.255.0
可解析的单个主机名。例如:centos,centos.smartraining.cn
域内的所有主机。例如:*.smartraining.cn
“*”则表示所有。
多个列表项要用空格间隔。 


 

6、模块日志参数

* 设置了”log file”参数时,在日志每行的开始会添加”%t [%p]“。 

可以使用的日志格式定义符如下所示:

%a - 远程IP地址
%h - 远程主机名
%l - 文件长度字符数
%p - 该次 rsync 会话的 PID
%o - 操作类型:”send” 或 “recv”
%f - 文件名
%P - 模块路径
%m - 模块名
%t - 当前时间
%u - 认证的用户名(匿名时是 null)
%b - 实际传输的字节数
%c - 当发送文件时,记录该文件的校验码
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值