rsync远程同步

本文详细介绍了rsync的理论知识,包括rsync的基本概念、同步方式、命令格式及配置源的两种表达方式。接着讲解了通过ssh进行rsync同步的配置步骤,包括源服务器和发起端的设置。此外,还探讨了rsync结合inotify机制实现的实时同步,以及如何处理rsync在使用中可能遇到的报错问题。通过这个指南,读者将能够熟练掌握rsync的远程同步操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、rsync理论

1、rsync简单介绍

2、同步方式

3、rsync格式

4、配置源的两种表达方式

二: sync +ssh 同步

1、配置rsync 源服务器

1.1 修改配置文件 /etc/rsyncd.conf

1.2 创建备份账户数据文件

1.3 配置源目录的权限

1.4 启动rsync 服务

2、发起端配置

2.1 发起端同步的命令

2.2 免交互式配置定期同步

三: rsync + inotify 机制实现实时同步

1、为什么使用实时同步

2、关于inotify

3、源服务器 修改rsync 服务配置文件,并修改目录权限

4、发起端调整inotify 内核参数

5、发起端安装 inotify-tools

6、客户端编写触发式同步脚本

四: 利用rsync 快速删除大量文件

五:报错

1、报错

2、原因

3、解决


一、rsync理论

1、rsync简单介绍

rsync是一款快速增量备份工具

  • Remote Sync,远程同步
  • 支持本地复制,或者与其他SSH、rsync主机同步
    • cp将源文件完整的复制到指定路径下
    • rsync做本地复制的话
      • 首先将源文件和目标的位置的文件对比,找出差异部分
      • 根据目的位置的文件与源文件差异的部分,进行一致性同步
  • 官方网站: http://rsync.samba.org

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

        在远程同步任务中,负责发起rsync同步操作的客户机称为发起端,而负责响应来自客户机的rsync同步操作的服务器称为同步源。在同步过程中,同步源负责提供文件的原始位置,发起端应对该位置具有读取权限。

        rsync 是 Linux 系统下的数据镜像备份工具,使用快速增量备份工具Remote Sync 可以远程同步,可以在不同主机之间进行同步,可实现全量备份与增量备份,保持链接和权限且采用优化的同步算法,传输前执行压缩,因此非常适合用于架构集中式备份或异地备份等应用。同时Rsync支持本地复制,或者与其他 SSH、rsync 主机同步

2、同步方式

  1. 完整备份: 每次备份都是从备份源将所有的文件或目录备份到目的地。
  2. 差量备份: 备份上次完全备份以后有变化的数据(他针对的上次的完全备份,他备份过程中不清除存档属性 ) 。
  3. 增量备份:备份上次备份以后有变化的数据(他才不管是那种类型的备份有变化的数据就备份,他会清除存档属性)

3、rsync格式

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

常用选项:

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

4、配置源的两种表达方式

  • 格式一:
    • 用户名@主机地址::共享模块名
    • rsync -avz backuper@192.168.80.10::wwwroot /opt/
  • 格式二:
    • rsync://用户名@主机地址/共享模块名
    • rsync -avz rsync://backuper@192,168,80,10/wwwroot /opt/

二: sync +ssh 同步

1、配置rsync 源服务器

基本思路:

  • 建立rsyncd.conf配置文件,独立的账号文件
  • 启用rsync 的--daemon模式

1.1 修改配置文件 /etc/rsyncd.conf

[root@host104 ~]# systemctl  stop  firewalld
[root@host104 ~]# setenforce  0
[root@host104 ~]# rpm -q rsync

#查看rsync的默认监听端口
[root@host104 ~]# cat  /etc/services  | grep rsync
rsync           873/tcp                         # rsync
rsync           873/udp                         # rsync


[root@host104 ~]# vim /etc/rsyncd.conf

 uid = nobody
 gid = nobody
 use chroot = yes                  #禁锢在源目录
 address = 192.168.23.104          #监听地址。
 port 873                          #监听端口(UDP/TCP 873端口。
 log file = /var/run/rsyncd.log    #日志文件位置
 pid file = /var/run/rsyncd.pid    #存放进程pid文件的位置
 hosts allow = 192.168.23.0/24     #允许访问的客户机


 [wwwroot]                                 #模块名称   
 path = /var/www/html                      #源目录的实际路径
 comment = Document Root of web server     #描述信息
 read only = yes                           #设置为只读
 dont compress   = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2   #同步时不再压缩的文件类型
 auth users = backuper                      #授权用户,多个账户用空格分隔
 secrets file = /etc/rsyncd_users.db        #设置存放账户信息的数据文件

如果采用匿名的方式,只要将其中的“auth users“ 和“secrets file”去掉就可以了 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值