rsync 远程同步

一、rsync简介

1.1 rsync的定义

rsync(Remote Sync,远程同步) 是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树 ,支持增量备份 ,并保持链接和权限 ,且采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份、镜像服务器等应用。

rsync 可以在不同主机之间进行同步,可实现全量备份与增量备份,保持链接和权限,且采用优化的同步算法, 传输前执行压缩 ,因此非常适合用于架构集中式备份或异地备份等应用。

1.2 同步方式

  • 完整备份:每次备份都是从备份源将所有的文件或目录备份到目的地。
  • 差量备份:备份上次完全备份以后有变化的数据(主要针对上次备份)
  • 增量备份:备份上次备份以后有变化的数据

1.3 备份方式

  • 发起端:负责rsync 同步操作的客户机叫做发起端,通知服务器我要备份你的数据
  • 备份源:负责响应来自客户机rsync 同步操作的服务器叫做备份源,需要备份的服务器
  • 服务端:运行rsyncd服务,一般来说,需要备份的服务器
  • 客户端:存放备份数据

1.4 常用的rsync命令

基本格式:rsync 选项 原始位置 目标位置

| 常用选项 | 功能 |
| -r | 递归模式,包含目录及子目录中的所有文件 |
| -l | 对于符号链接文件仍然复制为符号链接文件 |
| -v | 显示同步过程的详细(verbose)信息 |
| -z | 在传输文件时进行压缩(compress) |
| -a | 归档模式,保留文件的权限、属性等信息,等同于组合选项"-rlptgoD" |
| -p | 保留文件的权限标记 |
| -t | 保留文件的时间标记 |
| -g | 保留文件的属组标记(仅超级用户使用) |
| -o | 保留文件的属主标记(仅超级用户使用) |
| -H | 保留硬连接文件 |
| -A | 保留 ACL 属性信息 |
| -D | 保留设备文件及其他特殊文件 |
| --delete | 删除目标位置有而原始位置没有的文件 |

--checksum 根据校验和(而不是文件大小、修改时间)来决定是否跳过文件

1.5 配置源两种表达方式

格式一:用户名@主机地址::共享模块名

举例:rsync -avz backuper@192.168.10.22::wwwroot /opt/
格式二:rsync://用户名@主机地址/共享模块名

举例:rsync -avz rsync://backuper@192.168.10.22/wwwroot /opt/

1.6 远程同步相关部署

1.6.1 本地操作

1.6.2 远程操作

1.6.3 在虚拟机二上操作(一)

创建文件夹,同步数据发现并未成功

1.6.3.1 在虚拟机一上操作(一)

切换到html下,编辑内容到文本中

1.6.3.2 在虚拟机二上操作(二)

再次同步数据成功

1.6.4 在虚拟机一上操作(二)

1.6.5 在虚拟机二上操作(三)

编辑server.pass内容,为server.pass内容增加权限,重新启动服务

1.6.6 最后删除数据完成远程登录操作

相关推荐
时间静止不是简史9 小时前
生产事故排查:Redis 宕机导致补偿队列消费线程死亡,通话录音未上送业务平台
java·redis
2301_322414280412 小时前
基于SpringBoot+Vue的休闲零食超市管理系统的设计与实现59004-计算机毕设 原创(免费领源码+部署教程+开发环境)
java·vue.js·spring boot·redis·mysql·决策树·推荐算法
catoop15 小时前
API Key 设计与安全生成方案:结构拆解、数据库设计与 Java 实现
java·数据库·安全
Web极客码15 小时前
我用 Claude 分析 Redis 哨兵日志,实现跨机房数据不一致自动对齐
数据库·redis·php
库库的数据库笔记15 小时前
国产信创数据库的MySQL兼容性深度对比解析
大数据·数据库·mysql·oceanbase·政务
microrain16 小时前
SagooIoT 的缓存换后端只改一行配置,文件后端连 Redis 都不需要
物联网·缓存·golang·sagooiot
姚远Oracle ACE16 小时前
为什么无法连接到 PostgreSQL?
数据库·postgresql
ss27316 小时前
AI时代首先数据库-PostgreSQL实战笔记 | 22 PostgreSQL实例与集群
数据库·笔记·postgresql
ss27316 小时前
AI时代首先数据库-PostgreSQL实战笔记 | 21 PostgreSQL进程与内存架构介绍
数据库·笔记·postgresql