当前位置: 首页 > news >正文

Linux中级の备份服务Rsync

Rsync基本概述

rsync是一款开源、快速、多功能、可实现全量以及增量的本地或者远程数据同步备份的优秀工具。rsync软件适用于Unix/linux/Windows等多种操作系统平台。

# rsync简介rsync英文称为remote synchronization,从软件的名称就可以看出来,rsync具有可使本地和远程两台主机之间的数据
快速复制同步镜像、远程备份的功能,这个功能类似于ssh带的scp命令,但是又优于scp命令的功能,scp每次都是全量
拷贝,而rsync可以增量拷贝。当然,rsync还可以在本地主机的不同分区或目录之间全量及曾量的复制数据,这又类似
cp命令。但是同样也优于cp命令,cp每次都是全量拷贝,而rsync可以增量拷贝。
在同步数据的时候,默认情况下,rsync通过其独特的“quick check”算法,它仅同步大小或者最后修改时间发生变化的文
件或目录,当然也可根据权限、属主等属性的变化同步,但是需要制定相应的参数,甚至可以实现只同步一个文件里有变
化的内容部分,所以,可是实现快速的同步备份数据。rsync监听端口:873
rsync运行模式:C/S*

注意:利用rsync还可以实现删除文件和目录的功能,这又相当于rm命令,一个rsync相当于scp、cp、rm,但是还优于他们的每一个命令。


全量备份
假设客户端上有 file1 file2 file3 文件,服务端上有 file1 文件,现要将客户端上的数据备份至服务端
image
全量备份,将客户端所有的数据内容 file1 file2 file3 全部备份至服务端 (效率低下, 占用空间)


增量备份
image
增量备份,将客户端的 file2 file3 增量备份至服务端 (提高备份效率,节省空间, 适合异地备份 )

Rsync传输模式

Rsync使用三种主要的数据传输方式
1.本地方式
2.远程方式
3.守护进程


本地传输方式

# 本地拷贝数据命令
Local: rsync [OPTION...] SRC... [DEST]
[root@backup ~]# rsync -avz /etc/passwd .
rsync		# 备份命令
[OPTION]	# 参数选项
SRC...		# 备份源文件
[DEST]		# 备份目的路径

案例:将/etc/passwd文件备份到当前/root/目录下
image


检验rsync的增量拷贝

案例:
创建环境:
image
第一步:将1.txt、2.txt、3.txt文件备份到/tmp/目录下
image
第二步:在/root/test/目录下创建4.txt、5.txt文件,再次备份
image
注:只增量备份了4.txt和5.txt两个没有的文件,如果文件变动也会再次覆盖备份。
image


注意:如果目录后面加 \ ,则只会备份目录下的内容不会备份目录本身。
image


远程模式

PULL

Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
拉取(下载到本地):
rsync	# 命令
-avz	# 参数
USER@	# 用户
HOST	# 主机的IP地址、域名
SRC	# 备份源文件
DEST	# 备份目录

PULL案例
image

客户端10.0.0.7:
[root@custom ~]# rsync -avz root@10.0.0.41:/root/test ./

image

PUSH

Push:rsync [OPTION...] SRC... [USER@]HOST:DEST
推(上传到另一端服务器上)
rsync	# 命令
-avz	# 参数
SRC	# 备份源文件
USER@	# 用户
HOST	# IP地址
DEST	# 备份位置

PUSH案例
image

客户端10.0.0.7:
[root@custom ~]# rsync -avz secret.txt root@10.0.0.41:/root/

image
image

注意:如果不加用户,默认以当前系统登录用户身份进行远程连接,但是要对方的此用户名和密码
10.0.0.7默认使用root进行远程远程10.0.0.41,需要提供10.0.0.41的root的密码
10.0.0.7默认使用test01用户进行远程连接远程10.0.0.41,则需要提供10.0.0.41的test01的密码
image

使用域名传输文件

连接但是被拒绝了T.T
image

守护进程模式(企业常用)

1.配置服务:
[root@server ~]# cat /etc/rsyncd.conf 
uid = rsync	# 运行进程的用户
gid = rsync	# 运行进程的用户组
port = 873	# 监听端口
fake super = yes	# 无需让rsync以root身份运行,允许接收文件的完整属性
use chroot = no	# 禁锢推送的数据至某个目录,不允许跳出该目录
max connections = 200	# 最大连接数
timeout = 600	# 超过时间
ignore errors	# 忽略错误信息
read only = false	# 对备份数据可读写(false)
list = false	# 不允许查看模块信息
auth users = rsync_backup	# 定义虚拟用户,作为连接认证用户
secrets file = /etc/rsync.passwd	# 定义rsync服务用户连接认证密码文件路径
log file = /var/log/rsyncd.log
#####################################
[backup]	# 定义模块信息
comment = welcome to oldboyedu backup!	# 模块注释信息
path = /backup	# 定义接收备份数据目录
2.根据配置文件创建必要的数据
【1】创建rsync虚拟用户
【2】创建密码文件
【3】修改密码文件权限为600
【4】创建/backup备份目录
【5】修改/backup备份目录的属主、属组(chown)
3.启动rsyncd服务、并设置开机自启
4.测试检查873端口是否开启

步骤二:

【1】创建rsync虚拟用户
image

【2】创建密码文件
image

【3】修改密码文件的权限为600
image

【4、5】创建/backup目录、修改/backup目录属主、属组
image

步骤三:

启动rsyncd服务、并设置开机自启image

步骤四:

测试检查873端口是否开启
image

备份实例

image

【备份】image
【查看备份目录】image

http://www.jsqmd.com/news/58759/

相关文章:

  • 2025冷却塔厂家实力排行榜:无锡科巨以高效节能技术引领,六家高潜力本土品牌深度解析
  • 2025.12.2
  • EndNote.2025 中文版安装激活教程
  • CF1660E-Matrix and Shifts
  • c++实验四
  • 牛客网周赛120
  • 在数字时代寻找内心的宁静
  • kubernetes集群中怎么强制删除处于Terminating的namespace资源
  • 检查路径深度
  • chrome driver下载地址
  • 成群结队 - 冲刺总结
  • 从 Pandas 转向 Polars:新手常见的10 个问题与优化建议
  • 二进制兼容
  • 【C语言】选择结构和循环结构的进阶 - 指南
  • 从原型到生产:大型语言模型实践指南
  • 成群结队--冲刺计划
  • 第五天敏捷冲刺
  • Java进阶 多线程
  • Java进阶网络编程,UDP,TCP通信
  • CCPC郑州站 笨蛋题 II
  • IDEA标签窗口好行显示 类注释和方法注释
  • LabVIEW用直线边缘检测实现液位测量 - 教程
  • HEK293细胞:为什么它是重组蛋白表达的黄金标准?
  • kettle从入门到精通 第111课 ETL之kettle webspoon7的docker部署详细教程
  • 树莓派Docker部署AdGuard Home
  • 人工智能发展史简述
  • 第四天敏捷冲刺
  • qy_蓝桥杯编程系列_编程17 好数
  • 读书笔记 XILINX ug1137-Zynq UltraScale+ MPSoC Software Developer Guide 软件开发者指南 Chapter1Chapter2
  • static相关