1 Access via rsync daemon:
2 Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
3 rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
4 Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
5 rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST
使用规划
1、backup 服务器作为 rsync 服务端
2、以 ansi-haproxy02 作为客户端,进行数据推拉。
rsync 服务端配置
系统环境信息
[yun@backup ~]$ cat /etc/RedHat-release
CentOS Linux release 7.5.1804 (Core)
[yun@backup ~]$ uname -a
Linux backup 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@backup ~]# rpm -qa | grep 'rsync'
rsync-3.1.2-4.el7.x86_64
[yun@backup ~]$ rsync --version # 系统已默认安装,如果没有那自行安装下
rsync version 3.1.2 protocol version 31
Copyright (C) 1996-2015 by Andrew Tridgell, Wayne Davison, and others.
Web site:
Capabilities:
64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,
socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
append, ACLs, xattrs, iconv, symtimes, prealloc
rsync comes with ABSOLUTELY NO WARRANTY. This is free software, and you
are welcome to redistribute it under certain conditions. See the GNU
General Public Licence for details.
服务配置文件
注意:配置后面不要添加任何信息和空格,不然可能被解析,导致后续一系列问题。
[root@backup ~]# cat /etc/rsyncd.conf
# 备注:更多参数与更多详解,参见 man rsyncd.conf
#rsync_config---------------start
uid = root
gid = root
use chroot = false
max connections = 200
timeout = 100
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2
ignore errors = true
read only = false
list = false
## 注意为了避免困惑 hosts allow 和 hosts deny 请二选其一
hosts allow = 172.16.1.0/24,10.9.0.0/16,120.27.48.179
# hosts deny = 10.0.0.0/16
# 支持多个认证账号
auth users = rsync_backup,rsync_db_back
secrets file = /etc/rsync.password
# 数据备份 注意 path 目录的权限信息
[back_data_module]
path = /backup/busi_data/
# 数据库备份 注意 path 目录的权限信息
[back_db_module]
path = /backup/database/
#rsync_config---------------end
配置文件详解
更多参数与详解,参见 man rsyncd.conf
# 备注:更多参数与更多详解,参见 man rsyncd.conf
# rsync_config---------------start
# 可以是其他用户
# 超级用户运行时的默认设置是切换到系统的“nobody”用户
# 如果配置为 root 用户,这时可以同步属主信息
# 非超级用户是不能同步属主信息的
uid = root # 其他主机通过 rsync 实现推拉时使用什么用户
# 可以是其他用户组
# 超级用户组运行时的默认设置是切换到系统的“nobody”用户组
# 如果配置为 root 用户组,这时可以同步属组信息
# 非超级用户组是不能同步属组信息的
gid = root # 其他主机通过 rsync 实现推拉时使用什么用户组
# 如果为 true,安全性更高,但软连接文件「可能」同步不了
# 这是 rsync 的一个安全配置,由于我们大多数都是内网使用,所以可以不配置。建议 false
use chroot = false
max connections = 200 # 最大连接数
timeout = 100 # 超时时间
pid file = /var/run/rsyncd.pid # 进程号文件
lock file = /var/run/rsync.lock # 锁文件,防止文件不一致
log file = /var/log/rsyncd.log # 日志文件
dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2 # 对哪些文件传输时不压缩【如果传输时我们指定了压缩参数】
ignore errors = true # 忽略错误
read only = false # 在服务端可读写
list = false # 不让列表,安全考虑
## 注意为了避免困惑 hosts allow 和 hosts deny 请二选其一
hosts allow = 172.16.1.0/24,10.9.0.0/16,120.27.48.179 # 可访问的网段或IP,多个使用逗号分隔;其他的都不可访问
# hosts deny = 10.0.0.0/16 # 不可访问的网段或IP,多个使用逗号分隔;其他的都可以访问
# 支持多个认证账号
auth users = rsync_backup,rsync_db_back # 其他主机连接时,校验的用户【虚拟用户】
secrets file = /etc/rsync.password # 虚拟用户账号及密码
# 数据备份 注意 path 目录的权限信息
[back_data_module]
path = /backup/busi_data/
# 数据库备份 注意 path 目录的权限信息
[back_db_module]
path = /backup/database/
# rsync_config---------------end
uid、gid 详解