文章目录
前言
一. rsync配置文件举例
二. rsync配置文件详解

  1. 配置文件的组成:
  2. 常见的全局参数
    1) port
    2) uid
  3. gid
  4. max connections
  5. lock file
  6. motd file
  7. log file
  8. pid file
    9)hosts allow
  9. 常见模块参数
    1) Comment
    2) path
    3) read only
    4)exclude
    5) exclude from
    6) include
    7) include from
    8)auth users
    9)secrets file
    10)hosts allow
    11)hosts deny
    12)list
    13)timeout
    总结
前言

前两篇文章我们已经探讨了rsync的原理及基本使用,今天我们来聊聊,rsync的配置文件,如果你还没有学习rsync的原理及安装使用,建议先点击下方链接进行阅读。
rysnc系列目录:

【Linux】循序渐进学运维-服务篇-rysnc原理

【Linux】循序渐进学运维-服务篇-rysnc安装及使用

一. rsync配置文件举例
vim  /etc/rsyncd.conf

##全局配置			
uid = rsync    #用户			
gid = rsync    #用户组			
use chroot = no    #安全相关			
max connections = 200    #最大链接数			
timeout = 300    #超时时间			
pid file = /var/run/rsyncd.pid    #进程对应的进程号文件			
lock file = /var/run/rsync.lock    #锁文件			
log file = /var/log/rsyncd.log    #日志文件,显示出错信息

##模块配置			
[backup]            #模块名称			
path = /data      #模块对应的位置(路径)			
ignore errors       #忽略错误程序			
read only = false    #是否只读			
list = false        #是否可以列表			
hosts allow = 10.0.0.0/24  #准许访问rsync服务器的客户范围			
hosts deny = 0.0.0.0/32      #禁止访问rsync服务器的客户范围			
auth users = rsync_backup    #不存在的用户;只用于认证			
secrets file = /etc/rsync.password  #设置进行连接认证的密匙文件
二. rsync配置文件详解
1. 配置文件的组成:

配置文件分为两部分: 全局参数,模块参数

  • 全局参数:对rsync服务器生效,如果模块参数和全局参数冲突,冲突的地方模块参数最终生效。
  • 模块参数:定义需要通过rsync输出的目录定义的参数。
2. 常见的全局参数
1) port

指定后台程序使用的端口号,默认为873。

2) uid

该选项指定当该模块传输文件时守护进程应该具有的uid,配合gid选项使用可以确定哪些可以访问怎么样的文件权限,默认值是" nobody"。

3) gid

当该模块传输文件时守护进程应该具有的gid。默认值为" nobody"。

4) max connections

指定该模块的最大并发连接数量以保护服务器,超过限制的连接请求将被告知随后再试。默认值是0,也就是没有限制

5) lock file

指定支持max connections参数的锁文件,默认值是/var/run/rsyncd.lock

6) motd file

motd file"参数用来指定一个消息文件,当客户连接服务器时该文件的内容显示给客户,默认是没有motd文件的

7) log file

定rsync的日志文件,而不将日志发送给syslog。

8) pid file

指定rsync的pid文件,通常指定为“/var/run/rsyncd.pid”,存放进程ID的文件位置。

9)hosts allow

单个IP地址或网络地址,允许访问的客户机地址

3. 常见模块参数

常见模块参数主要是定义服务器哪个要被同步输出,其格式必须为“ [ 共享模块名 ]” 形式,这个名字就是在 rsync 客户端看到的名字,其实很像 samba 服务器提供的共享名。而服务器真正同步的数据是通过 path 来指定的。

1) Comment

模块指定一个描述,该描述连同模块名在客户连接得到模块列表时显示给客户。默认没有描述定义。

2) path

指定该模块的供备份的目录树路径,该参数是必须指定的。

3) read only

yes为只允许下载,no为可以下载和上传文件到服务器。

4)exclude

用来指定多个由空格隔开的多个文件或目录(相对路径),将其添加到exclude列表中。这等同于在客户端命令中使用―exclude或----filter来指定某些文件或目录不下载或上传(既不可访问)

5) exclude from

指定一个包含exclude模式的定义的文件名,服务器从该文件中读取exclude列表定义,每个文件或目录需要占用一行

6) include

用来指定不排除符合要求的文件或目录。这等同于在客户端命令中使用–include来指定模式,结合include和exclude可以定义复杂的exclude/include规则。

7) include from

指定一个包含include模式的定义的文件名,服务器从该文件中读取include列表定义。

8)auth users

该选项指定由空格或逗号分隔的用户名列表,只有这些用户才允许连接该模块。

这里的用户和系统用户没有任何关系。如果" auth users"被设置,那么客户端发出对该模块的连接请求以后会被rsync请求challenged进行验证身份这里使用的challenge/response认证协议。

用户的名和密码以明文方式存放在" secrets file"选项指定的文件中。默认情况下无需密码就可以连接模块(也就是匿名方式)。

9)secrets file

该选项指定一个包含定义用户名:密码对的文件。只有在" auth users"被定义时,该文件才有作用。

文件每行包含一个username:passwd对。一般来说密码最好不要超过8个字符。没有默认的secures file名,注意:该文件的权限一定要是600,否则客户端将不能连接服务器。

10)hosts allow

指定哪些IP的客户允许连接该模块。定义可以是以下形式:
单个IP地址,例如:192.167.0.1,多个IP或网段需要用空格隔开。
整个网段,例如:192.168.0.0/24,也可以书写为192.168.0.0/255.255.255.0
“*”则表示所有,默认是允许所有主机连接。

11)hosts deny

指定不允许连接rsync服务器的机器,可以使用hosts allow的定义方式来进行定义。默认是没有hosts deny定义

12)list

该选项设定当客户请求可以使用的模块列表时,该模块是否应该被列出。如果设置该选项为false,可以创建隐藏的模块。默认值是true。

13)timeout

通过该选项可以覆盖客户指定的IP超时时间。

通过该选项可以确保rsync服务器不会永远等待一个崩溃的客户端。超时单位为秒钟,0表示没有超时定义,这也是默认值。对于匿名rsync服务器来说,一般会定义为600.

总结

本文主要介绍了rsync的配置文件的详细参数,也在文章的开篇举了一个例子来说明怎么写配置文件。
下篇文章我们将来讨论,使用rsync配置文件定义目录输出。

我是高胜寒,一个在教培行业不忘初心的人,我们下篇文章再见!

rysnc系列目录:

【Linux】循序渐进学运维-服务篇-rysnc原理

【Linux】循序渐进学运维-服务篇-rysnc安装及使用

【Linux】循序渐进学运维-服务篇-rsync配置文件