CentOS 6.3下rsync服务器的安装与配置

  Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件,也可以使用 Rsync 同步本地硬盘中的不同目录。 

  Rsync 是用于取代rcp的一个工具,Rsync使用所谓的 “Rsync 算法” 来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。您可以参考 How Rsync Works A Practical Overview 进一步了解 rsync 的运作机制。

  Rsync支持大多数的类Unix系统,无论是Linux、Solaris还是BSD上都经过了良好的测试。此外,它在windows平台下也有相应的版本,比较知名的有cwRsync和Sync2NAS。

  Rsync 的初始作者是 Andrew Tridgell 和 Paul Mackerras,它当前由 维护。

  Rsync的基本特点如下:

  1. 可以镜像保存整个目录树和文件系统;

  2. 可以很容易做到保持原来文件的权限、时间、软硬链接等;

  3. 无须特殊权限即可安装;

  4. 优化的流程,文件传输效率高;

  5. 可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接;

  6. 支持匿名传输,以方便进行网站镜像。

  在使用 rsync 进行远程同步时,可以使用两种方式:远程 Shell 方式(建议使用 ssh,用户验证由 ssh 负责)和 C/S 方式(即客户连接远程 rsync 服务器,用户验证由 rsync 服务器负责)。

  无论本地同步目录还是远程同步数据,首次运行时将会把全部文件拷贝一次,以后再运行时将只拷贝有变化的文件(对于新文件)或文件的变化部分(对于原有文件)。

  rsync 在首次复制时没有速度优势,速度不如 tar,因此当数据量很大时您可以考虑先使用 tar 进行首次复制,然后再使用 rsync 进行数据同步。

二、系统环境

系统平台:CentOS release 6.3 (Final)

rsync 版本:rsync-3.0.9-2.el6.rfx.x86_64.rpm

rsync 服务器:TS-DEV (172.16.1.135)

rsync 客户端:TS-CLIENT (172.16.1.136)

三、服务器端安装rsync服务

3.1. 检查rsync 是否已经安装

# rpm -qa|grep rsync

若已经安装,则使用rpm -e 命令卸载。

3.2. 下载RPM包

# wget

3.3. 安装rsync

# rpm -ivh rsync-3.0.9-2.el6.rfx.x86_64.rpm

四、配置 rsync 服务

4.1. 配置 rsync 服务器的步骤

首先要选择服务器启动方式

对于负荷较重的 rsync 服务器应该使用独立运行方式

对于负荷较轻的 rsync 服务器可以使用 xinetd 运行方式

创建配置文件 rsyncd.conf

对于非匿名访问的 rsync 服务器还要创建认证口令文件

4.2. 以 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 的服务选项。

4.3. 独立运行 rsync 服务

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

# /usr/bin/rsync --daemon

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

4.4. 配置文件 rsyncd.conf

两种 rsync 服务运行方式都需要配置 rsyncd.conf,其格式类似于 samba 的主配置文件。
配置文件 rsyncd.conf 默认在 /etc 目录下。为了将所有与 rsync 服务相关的文件放在单独的目录下,可以执行如下命令:

# mkdir /etc/rsyncd # touch /etc/rsyncd/rsyncd.conf # ln -s /etc/rsyncd/rsyncd.conf /etc/rsyncd.conf

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

模块以 [模块名] 开始

参数配置行的格式是 name = value ,其中 value 可以有两种数据类型:

字符串(可以不用引号定界字符串)

布尔值(1/0 或 yes/no 或 true/false)

以 # 或 ; 开始的行为注释

\ 为续行符

全局参数

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

参数说明默认值
address   在独立运行时,用于指定的服务器运行的 IP 地址。由 xinetd 运行时将忽略此参数,使用命令行上的 –address 选项替代。   本地所有IP  
port   指定 rsync 守护进程监听的端口号。 由 xinetd 运行时将忽略此参数,使用命令行上的–port 选项替代。   873  
motd file   指定一个消息文件,当客户连接服务器时该文件的内容显示给客户。    
pid file   rsync 的守护进程将其 PID 写入指定的文件。    
log file   指定 rsync 守护进程的日志文件,而不将日志发送给 syslog。    
syslog facility   指定 rsync 发送日志消息给 syslog 时的消息级别。   daemon  
socket options   指定自定义 TCP 选项。    

模块参数

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

转载注明出处:https://www.heiqu.com/6c09a6d0570ad72a013916ca13a667b5.html