1.Rsync功能及配置
[toc]
Rsync功能描述
是一款开源,多功能,全量或者增量本地,远程数据同步,适用于linux,unix ,windows,macOS
全量备份
将所有的数都进行一次备份
增量备份
基于全量备份来说,只给新增的数据进行备份
常用端口
1 | # rsync端口是873 |
配置Rsync
环境准备
外网 | 内网 | 主机 | 角色 |
---|---|---|---|
10.0.0.31 | 172.16.1.31 | nfs | rsync客户端 |
10.0.0.41 | 172.16.1.41 | backup | rsync服务端 |
1 | # rsync服务类型 |
rsync选项
1 | # 常用选项 |
本地工作模式
1 | # 本地拷贝数据命令 |
远程工作模式
Pull拉取数据命令
1 | # 语法格式 |
Push推送数据命令
1 | # 语法格式 |
守护进程
Pull拉取数据命令
1 | # 语法格式 |
Push推送数据命令
1 | # 语法格式 |
rsync服务配置
服务端配置
安装rsync
1
2# 安装rsync
yum install -y rsync编辑rsync配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38# 编辑rsync配置文件
vim /etc/rsyncd.conf
## 添加配置信息
uid = rsync
gid = rsync
port = 873
fake super = yes
use chroot = no
max connections = 200
timeout = 600
ignore errors
read only = false
list = false
auth users = rsync_backup
secrets file = /etc/rsync.passwd
log file = /var/log/rsyncd.log
#####################################
[backup]
comment = welcome to oldboyedu backup!
path = /backup
# 配置详解
uid = rsync # 服务启动的用户
gid = rsync # 服务启动的用户组
port = 873 # 监听端口 0~65535
fake super = yes # 无需让rsync以root身份运行,允许接收文件的完整属性
use chroot = no # 禁锢推送的数据至某个目录, 不允许跳出该目录
max connections = 200 # 最大连接数
timeout = 600 # 超时时间
ignore errors # 忽略错误信息
read only = false # 对备份数据可读写
list = false # 不允许查看模块信息
auth users = rsync_backup # 定义虚拟用户,作为连接认证用户
secrets file = /etc/rsync.passwd # 定义rsync服务用户连接认证密码文件路径
[backup] # 定义模块信息
comment = commit # 模块注释信息
path = /backup # 定义接收备份数据目录创建rsync用户
1
2
3# 创建rsync用户
## -s不登录此用户 -M不创建家目录
useradd rsync -s /sbin/nologin -M创建密码
1
2
3
4
5
6# 创建密码
## 免交互创建rsync_backup的密码为:123
echo 'rsync_backup:123' > /etc/rsync.passwd
# 检查密码是否创建成功
cat /etc/rsync.passwd backup:123更改密码文件权限
1
2
3# 更改密码文件权限
## rsync要求密码文件的权限必须是600
chmod 600 /etc/rsync.passwd创建备份目录
1
2
3# 创建备份目录
## 服务端备份模块文件存放路径
mkdir /backup修改模块路径属主和属组
1
2
3
4
5
6# 修改backup的属主和属组
chown rsync:rsync /backup/
# 检查属主和属组是否修改成功
ll -d /backup/
drwxr-xr-x 2 rsync rsync 6 Nov 29 11:52 /backup/开启服务并加入开机自启
1
2
3
4
5
6
7# 开启服务并加入开机自启
## 开启rsyncd服务
systemctl start rsyncd
## 将rsyncd加入开机自启
systemctl enable rsyncd
Created symlink from /etc/systemd/system/multi-user.target.wants/rsyncd.service to
/usr/lib/systemd/system/rsyncd.service.检查是否运行
1
2
3# 检查rsyncd服务是否启动
ps -ef | grep [r]sync
root 17891 1 0 11:54 ? 00:00:00 /usr/bin/rsync --daemon --no-detach检查端口
1
2
3
4
5
6
7# 检查端口
## 检查rsync服务的873端口是否开启
netstat -lntup | grep 873
tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN
17891/rsync
tcp6 0 0 :::873 :::* LISTEN
17891/rsync
客户端配置
安装服务
1
2# 安装服务
yum install -y rsync设置密码
1
2
3
4
5
6
7
8
9
10
11
12# 设置密码
echo '123' > /etc/rsync.pass
20 ✗ 12:09:08 root@nfs,172.16.1.31:~ # rsync -avz /etc rsync_backup@10.0.0.41::backup
Password:
## 错误提示
@ERROR: auth failed on module backup
rsync error: error starting client-server protocol (code 5) at main.c(1656)
[sender=3.1.2]
1.密码文件权限不是600
2.密码文件里的免密和手动输入的不一致
3.密码文件里的名字和配置文件中名字不一致
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 奥利奥の麦旋风!