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 中指明

rsync 命令既是客户端程序,同时也是服务程序。在运行 rsync 服务时使用特殊的命令选项,常用的服务选项有:

选项 说明
–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 服务

2.1 配置 rsync 服务器的步骤

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

2.2 以 xinetd 运行 rsync 服务

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

chkconfig rsync onservice xinetd restart12

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

server_args = --daemon1

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


2.3 独立运行 rsync 服务

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

/usr/bin/rsync --daemon1

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


2.4 配置文件 rsyncd.conf

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

mkdir /etc/rsyncd
touch /etc/rsyncd/rsyncd.confln -s /etc/rsyncd/rsyncd.conf /etc/rsyncd.conf123

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

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

2.4.1 全局参数

在文件中 [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 选项

2.4.2 模块参数

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

1. 基本模块参数

参数 说明 默认值
path 指定当前模块在 rsync 服务器上的同步路径,该参数是必须指定的
comment 给模块指定一个描述,该描述连同模块名在客户连接得到模块列表时显示给客户

2. 模块控制参数

参数 说明 默认值
use chroot 若为 true,则 rsync 在传输文件之前首先 chroot 到 path 参数所指定的目录下。这样做的原因是实现额外的安全防护,但是缺点是需要 root 权限,并且不能备份指向 path 外部的符号连接所指向的目录文件 true
uid 指定该模块以指定的 UID 传输文件 nobody
gid 指定该模块以指定的 GID 传输文件 nobody
max connections 指定该模块的最大并发连接数量以保护服务器,超过限制的连接请求将被告知随后再试 0(没有限制)
lock file 指定支持 max connections 参数的锁文件 /var/run/rsyncd.lock
list 指定当客户请求列出可以使用的模块列表时,该模块是否应该被列出。如果设置该选项为 false,可以创建隐藏的模块 true
read only 指定是否允许客户上传文件。若为 true 则不允许上传;若为 false 并且服务器目录也具有读写权限则允许上传 true
write only 指定是否允许客户下载文件。若为 true 则不允许下载;若为 false 并且服务器目录也具有读权限则允许下载 false
ignore errors 指定 在 rsync 服务器上运行 delete 操作时是否忽略 I/O 错误。一般来说 rsync 在出现 I/O 错误时将将跳过 –delete 操作,以防止因为暂时的资源不足或其它 I/O 错误导致的严重问题 true
ignore nonreadable 指定 rysnc 服务器完全忽略那些用户没有访问权限的文件。这对于在需要备份的目录中有些不应该被备份者获得的文件时是有意义的 false
timeout 该选项可以覆盖客户指定的 IP 超时时间。从而确保 rsync 服务器不会永远等待一个崩溃的客户端。对于匿名 rsync 服务器来说,理想的数字是 600(单位为秒) 0 (未限制)
dont compress 用来指定那些在传输之前不进行压缩处理的文件。该选项可以定义一些不允许客户对该模块使用的命令选项列表。必须使用选项全名,而不能是简称。当发生拒绝某个选项的情况时,服务器将报告错误信息然后退出。例如,要防止使用压缩,应该是:”dont compress = *” .gz .tgz .zip .z .rpm .deb .iso .bz2 *.tbz

3. 模块文件筛选参数

参数 说明 默认值
exclude 指定多个由空格隔开的多个文件或目录(相对路径),并将其添加到 exclude 列表中。这等同于在客户端命令中使用 –exclude 来指定模式
exclude from 指定一个包含 exclude 规则定义的文件名,服务器从该文件中读取 exclude 列表定义
include 指定多个由空格隔开的多个文件或目录(相对路径),并将其添加到 include 列表中。这等同于在客户端命令中使用 –include 来指定模式
include from 指定一个包含 include 规则定义的文件名,服务器从该文件中读取 include 列表定义
  • 一个模块只能指定一个 exclude 参数、一个 include 参数。
  • 结合 include 和 exclude 可以定义复杂的 exclude/include 规则 。
  • 这几个参数分别与相应的 rsync 客户命令选项等价,唯一不同的是它们作用在服务器端。
  • 关于如何书写规则文件的内容请参见rsync 客户端

4. 模块用户认证参数

参数 说明 默认值
auth users 指定由空格或逗号分隔的用户名列表,只有这些用户才允许连接该模块。这里的用户和系统用户没有任何关系。用户名和口令以明文方式存放在 secrets file 参数指定的文件中 (匿名方式)
secrets file 指定一个 rsync 认证口令文件。只有在 auth users 被定义时,该文件才起作用
strict modes 指定是否监测口令文件的权限。若为 true 则口令文件只能被 rsync 服务器运行身份的用户访问,其他任何用户不可以访问该文件 true
  • rsync 认证口令文件的权限一定是 600,否则客户端将不能连接服务器
  • rsync 认证口令文件中每一行指定一个 用户名:口令 对,格式为:
    • 以 “#” 开始的行为注释行 username:passwd
    • 一般来说口令最好不要超过8个字符。 
      若您只配置匿名访问的 rsync 服务器,则无需设置上述参数。

5. 模块访问控制参数

参数 说明 默认值
hosts allow 用一个主机列表指定哪些主机客户允许连接该模块。不匹配主机列表的主机将被拒绝 *
hosts deny 用一个主机列表指定哪些主机客户不允许连接该模块

客户主机列表定义可以是以下形式:

  • 单个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. 模块日志参数

参数 说明 默认值
transfer logging 使 rsync 服务器将传输操作记录到传输日志文件 false
log format 指定传输日志文件的字段 ”%o %h [%a] %m (%u) %f %l”

设置了”log file”参数时,在日志每行的开始会添加”%t [%p]“。可以使用的日志格式定义符如下所示:

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

三. rsync 服务器与备份

3.1 何时使用 rsync 服务器

  • 若用户在远程主机上有登录帐号,通常可以使用 ssh 方式运行 rsync 而不必配置 rsync 服务。
  • 由于 rsync 服务使用明文口令,所以在不可信任的网络中应该尽量使用 ssh 方式运行 rsync。
  • 在可信任的网络中可以配置使用 rsync 服务器,当然也可以使用 ssh 方式运行 rsync。
  • 最需要架设 rsync 服务器的理由恐怕就是匿名 rsync 服务器了,它可以为客户提供匿名访问的同步资源,

例如:允许用户同步 FTP 软件资源、Linux 发行版本的软件仓库等。


3.2 部署 rsync 服务器的两种方法

为了备份数据,如何在网络中部署 rsync 服务器呢?通常有两种方法:

1. 在生产服务器上同时运行 rsync 服务

  • rsync 服务以只读方式提供要备份的数据,从而避免破坏生产服务器上的数据
  • 根据需要,可以配置一个或多个(为了避免风险)主机作为备份主机
  • 在每个备份主机上以”拉”的方式从生产服务器将数据同步到备份主机

2. 在备份服务器上运行 rsync 服务

  • 备份服务器实际上是个数据仓库,它集中收集了网络中所有要备份的主机的数据
  • 备份服务器上运行的 rsync 服务以读写方式提供备份空间
  • 根据需要,可以配置一个或多个(为了避免风险)备份服务器
  • 在每台要备份的主机(包括生产服务器)上以”推”的方式将备份数据写入备份服务器

上述关于备份的思想方法同样也适用于以 ssh 方式运行 rsync 的情况。当然这时无需架设 rsync 服务,所需考虑的问题仅仅是应该以”推”方式运行还是以”拉”方式运行。

时间: 2024-11-06 07:28:18

rsync服务简介(补充)的相关文章

rsync服务的简介和配置详解

rsync服务的简介和配置详解 一.rsync概述 rsync是类unix系统下的数据镜像备份工具--remote sync.与传统的cp.tar备份方式相比,rsync具有安全性高.备份迅速.支持增量备份.本地复制,远程同步等优点,通过rsync可以解决对实时性要求不高的数据备份需求,例如定期的备份文件服务器数据到远端服务器,对本地磁盘定期做数据镜像等. rsync 命令来同步系统文件之前要先登录remote 主机认证,认证过程中用到的协议有2种:ssh 协议和rsync协议. 二.rsync

rsync服务实现推送,拉取

1.简介 rsync是一款远程数据同步工具,一个Rsync server能够同时备份多个客户端数据,需要scp,ssh,daemon的支持,默认端口为873. rsync + crond 可以实现数据定时同步,rsync + inotify可以实现数据的实时同步. 工作中的Rsync服务最好以只读方式提供要备份的数据,避免造成误操作. 2.实验环境介绍 两台CentOS6.3 x64   测试机,一台server,一台client.系统已经默认安装了rsync软件. 3.Rsync命令格式及命令

Rsync服务实时同步目录

-- sync 同步async 异步rsync 远程同步 rsync     remote sync    远程同步 拷贝和同步的区别? rsync  - faster, flexible replacement for rcp rsync  - a fast, versatile, remote (and local)       file-copying tool Wget - The non-interactive network down-loader. wget http://10.1

rsync服务模式+客户端访问

介绍 rsync是一个差异同步备份工具,也是一种数据发送/ 差分备份 许可协议. 可以实现把服务器上的一些文件备份到另一台电脑上,而且是差异备份,这是用它的关键,也是取代scp的关键.  网上关于这个的介绍也有很多, 就不多作介绍了. rsync有不同的工作模式, 主要就3种. 在同一台机器上用,跟cp差不多的用法. 跟scp一样的远程shell模式 服务器模式. 我们要用的就是服务器模式. 这里要用的是由xinetd超级守护进程来控制的rsync服务. 当然也可以不用,到那一步再说啦. 环境:

linux集群搭建之rsync服务的搭建

rsync 服务总结目录rsync 服务总结 1第1章 rsync简介 31.1 什么是rsync 31.2 rsync的特性 31.3 rsync常用选项 31.4 rsync的三种工作模式 41.4.1 本地模式 41.4.2 ssh通道模式(shell模式) 41.4.3 daemon模式 5第2章 rsync daemon模式的配置 62.1 服务端的配置 62.1.1 查看安装环境 62.1.2 查看是否有rsync安装包 62.1.3 添加rsync用户,用来管理本地目录 62.1.

Linux中详细搭建rsync服务

1.rsync简介 rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了--remote sync.rsync是Linux系统下的文件同步和数据传输工具,它采用"rsync"算法,可以将一个客户机和远程文件服务器之间的文件同步,也可以在本地系统中将数据从一个分区备份到另一个分区上.如果rsync在备份过程中出现了数据传输中断,恢复后可以继续传输不一致的部分.rsync可以执行完整备份或增量备份.它的主要特点有: 1.可以镜像保存整个目录树和文件系统: 2.可以很

rsync 服务及部署

1 rsync简介 1.1 什么是rsync rsync: - a fast, versatile, remote (and local) file-copying toolrsync:是一种快速,多功能,远程和本地文件拷贝的工具rsync --version:查看rsync软件版本备份服务重要性: ?企业中所有要进行操作的数据文件,一定操作前备份.?? 企业备份数据方法:重要数据需要保存在专门备份服务器上 ?第三方网盘存储. 1.2 rsync特点 可以实现全量和增量备份 1.2.1 全量和增

Rsync服务的实战

Rsync服务 Rsync rsync是一款开源.快速.多功能.可实现全量及增量的本地或远程数据同步备份的优秀工具.rsync软件适用于Unix/linux/Windows等多种操作系统平台. rsync 简介 rsync英文称为remote synchronizetion,从软件的名称就可以看出来,rsync具有可使本地和远程两台主机之间的数据快速复制同步镜像.远程备份的功能,这个功能类似于ssh带的scp命令,但是又优于scp命令的功能,scp每次都是全量拷贝,而rsync可以增量拷贝.当然

Rsync 服务部署与参数详解

Rsync 简介 rsync 是一款开源的.快速的.多功能的.可实现全量及增量的本地或远程数据同步备份的优秀工具.Rsync软件适用于unix/linux/windows等多种操作系统平台. 传统的 scp 和 cp 工具拷贝每次均为完整拷贝,而rsync除了可以完整拷贝外,还具备增量拷贝功能.因此,从同步数据的性能及效率上,Rsync工具更胜一筹. 官网地址: 1 https://download.samba.org/pub/rsync/rsync.html 2 # 或者 3 https://