文章目录
一、服务器端
1.1 安装
[root@test-001 ~]# yum -y install rsync
1.2 修改配置文件
[root@test-001 ~]# cat /etc/rsyncd.conf
uid = rsync #运行进程的用户
gid = rsync #运行进程的用户组
port = 873 #监听端口
fake super = yes #不需要rysnc以root身份运行,就可以存储文件的完整属性
use chroot = no #禁锢推送数据至某个目录,不允许跳出该目录
max connections = 50 #最大连接数
timeout = 300 #超时时间
ignore errors #忽略错误信息
read only = false #对备份数据可以读写
list = false #不允许查看模块信息
auth users = rsync_backup_user #定义虚拟用户,作为连接认证用户
secrets file = /etc/rsync.pass # 认证用户帐号信息存放文件
log file = /var/log/rsyncd.log
#####################################
[backup] #定义模块信息
comment = commit # 模块注释信息
path = /backup # 定义接收备份数据目录
1.3 服务初始化
[root@test-001 ~]# useradd -M -s /sbin/nologin rsync
[root@test-001 ~]# mkdir /backup
[root@test-001 ~]# chown -R rsync.rsync /backup/
[root@test-001 ~]# echo 'rsync_backup_user:123456' >> /etc/rsync.pass
[root@test-001 ~]# chmod 0600 /etc/rsync.pass
1.3 启动
[root@test-001 ~]# rsync --daemon --config=/etc/rsyncd.conf
[root@test-001 ~]# netstat -tnlp
tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 11971/rsync
二、客户端
2.1 方式一:终端执行,把虚拟用户密码存储在文件中
[root@test-001 ~]# yum install rsync -y
[root@test-001 ~]# echo “123456” > /etc/rsync.pass
[root@test-001 ~]# chmod 600 /etc/rsync.pass
2.2 方式二:脚本执行,将虚拟用户密码设定为环境变量
[root@test-001 ~]# yum install rsync
[root@test-001 ~]# export RSYNC_PASSWORD=123456
三、数据推送与拉取场景
- 客户端推送backup目录下所有内容至Rsync服务端
[root@test-001 ~]# export RSYNC_PASSWORD=123456
[root@test-001 ~]# rsync -avz /backup/ rsync_backup_user@192.168.1.1::backup/
- 客户端拉取Rsync服务端 backup 模块数据至本地客户端的 /backup 目录
[root@test-001 ~]# export RSYNC_PASSWORD=123456
[root@test-001 ~]# rsync -avz rsync_backup_user@192.168.1.1::backup /backup/
常用选项:
–delete #本地与远端保持一致
–bwlimit=1 #带宽限制,单位MB