rsync+inotify远程同步

本文详述了如何使用rsync进行远程同步,包括rsync的基本概念、命令格式、同步方式及其特性,并对比了rsync与cp、scp的区别。接着介绍了配置Rsync源服务器的过程,特别是配置下行同步的步骤。此外,文章还探讨了inotify工具,解释了inotifywait命令,并展示了如何结合rsync实现实时同步。最后,文中提到了rsync在增量同步、备份迁移等场景的应用。
摘要由CSDN通过智能技术生成

目录

前言

一、Rsync 远程同步

1.1  rsync 介绍

1.2  rsync 同步方式

1.3  rsync特性

1.4  rsync与cp、scp对比

1.5  rsync实时同步

二、rsync 命令

2.1  命令格式

2.2   常用的参数

2.3  rsync本地复制实例

2.4  配置源的两种表示方法

三、配置 Rsync 源服务器

3.1  rsync  同步源

3.2  配置 Rsync 下行同步

3.2.1  配置环境

3.2.2  将 server 服务器数据备份到 client  服务器 

3.2.3  客户端配置client :(192.168.10.14) 

3.2.4  关闭rsync 服务

3.3  --delect 用法

扩展:设置周期性计划任务

四、 inotify简介

4.1   inotifywait 命令

4.2  配置Rsync+inotify 实时同步

4.3   配置步骤

4.3.1  server 服务端关闭只读模式并为共享目录赋权 

4.3.2  优化 client 客户端 内核参数 

4.3.3  客户端(192.168.10.14):编译安装 inotify-tools 

4.3.4  客户端启动监听 

4.3.5  编写触发同步脚本

扩展:

五、rsync的应用场景

六、总结


前言

在系统管理员的工作中备份无疑是一个重要的部分。当没有完整备份或者良好规划的备份和实施时,就可能或早或晚不可挽回地丢失重要的数据。rsync 无疑是一个很好的选择,下面将介绍rsync的工作过程。

一、Rsync 远程同步

1.1  rsync 介绍

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

rsync软件支持跨平台,适用于unix/ linux/windows等多种操作系统平台

rsync是一个快速和非常方便的文件复制工具。它能本地复制,远程复制,或者远程守护进程方式复制,它提供了大量的参数来控制其行为的各个方面,并且允许非常灵活的方式来实现文件的传输复制

以其delta-transfer算法闻名。

rsync监听端口:873

rsync运行模式:C/S

官方网址:https://rsync.samba.org/

1.2  rsync 同步方式

1. 完整备份:每次备份都是从备份源将所有的文件或目录备份到目的地

2. 差量备份:备份上次完全备份以后有变化的数据(它针对的上次的完全备份,备份过程中不清除存档属性)。

3. 增量备份:备份上次备份以后所有变化的数据(它不管是哪种类型的备份,有变化的数据就备份,会清除存档属性)。

1.3  rsync特性

  • 可以镜像保存整个目录和文件系统
  • 可以很容易做到保持原文件的权限、时间、软硬连接等
  • 无须特殊权限即可安装

快速

第一次同步时rsync会复制全部内容,但在下一次只传输修改过的文件
rsync在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的宽带

安全

可以使用scp、ssh等方式来传输文件
也可通过直接socket连接
支持匿名传输,以方便进行网站镜像

1.4  rsync与cp、scp对比

  • cp命令是一种典型的将文件完整的拷贝到一个位置。而rsync是,第一次拷贝,在目标位置没有的时候,rsync是全量拷贝过去,但是第二次拷贝的时候,只会对差异项进行同步拷贝。所有如果对同一个文件进行二次备份的话,rsync速度会相较于cp而言更快。
  • cp只支持本地,而rsync支持远程
  • scp是基于cp原理,也是属于完整性拷贝文件。假设rsync和scp拷贝的文件都是第一,目标地址都没有要同步的文件,此时,这两者的差异在于,第一个,这个要传输的文件大不大,第二个要看在传输的过程中,用的带宽大不大。如果文件不大的情况下,scp是把数据从磁盘中的块存储提取出来,封装一下,网络传过去,此时scp更快,如果是更大的文件,比如说40G,带宽只支持100M的带宽,scp想要传输,需要拆分数据,一段一段传输。而rsync会根据一个逻辑意义上的空间,把数据划分出来,把数据先压缩再传输,所以这种方式而言,带宽校,文件大,这个时候先压缩再传输会比较快。此时适合用rsync远程同步。

1.5  rsync实时同步

定期同步的不足:

  • 执行备份的时间固定,延迟明显、实时性差
  • 当同步源长期不变化时,密集的定期任务是不必要的

实时同步的优点:

  • 一旦同步源出现变化,立即启动备份
  • 只要同步源无变化,则不执行备份

二、rsync 命令

2.1  命令格式

rsync  [选项]    原始位置    目标位置 

2.2   常用的参数

常用选项

解释

-v,–verbose

详细模式输出

-q,–quiet

精简输出模式

-c,–checksum

打开校验开关,强制对文件传输进行校验

-a,–archive

归档模式,表示以递归方式传输文件,并保持所有文件树形等同于-rlpt

-z

在传输文件时进行压缩

-r,–recursive

对子目录以递归模式处理,包含目录及子目录中的所有文件

-H,–hard-links

保留硬链接

-l, --links

保留软链接

–delete

删除目标位置有而原始位置没有的文件(一致性)

–delete-after

传输结束以后再删除

             -A

保留ACL属性信息

-D

保留设备文件及其他特殊文件

-checksum

根据对象的校验和来决定是否跳过文件

-o

保留文件的属主标记(仅超级用户使用)

-g

保留文件的属组标记(仅超级用户使用)

-t

保留文件的时间标记

注:常用的是-avz

2.3  rsync本地复制实例

以下两者区别是什么?

  • rsync -avz abc/ /opt/ :只会拷贝abc目录下面的文件,而不会拷贝abc这个目录

  • rsync -avz /abc /opt/:会连着目录一起拷贝到/opt下

#如果是rsync -avz  abc/ /opt/会是什么情况
cd /opt
mkdir /abc
cd /abc/
touch 1.txt 2.txt
cd /
rsync -avz abc/ /opt/
cd /opt/
ls
 
#如果是rsync -avz /abc /opt/会是什么情况
cd /opt/
rm -rf *
rsync -avz /abc /opt/
ls

#如果是rsync -avz abc/ /opt/会是什么情况

#如果是rsync -avz /abc /opt/会是什么情况

2.4  配置源的两种表示方法

方法一:

#用户名@主机地址: :共享模块名
rsync -avz backuper@192.168.10.13::wwwroot /root
 
#backuper指的是我在同步的时候用的哪个用户身份
#wwwroot代表的是模块,模块下面会写

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值