rsync远程同步+inotify监控

server/2024/9/23 7:15:03/

一、概述

1、关于rsync
rsync远程同步:是开源的快速备份工具,可以在不同主机之间同步整个目录

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

2、rsync的特点:
支持拷贝文件,链接文件

可以保持源文件或者目录的权限不变(时间、软硬连接、所有者、所在组等均可以保持不变)

可以实现增量同步。只同步发生变化的数据,数据传输效率很高

支持匿名认证。

3、备份方式:
完整备份,第一次同步都是完整的备份

往后的同步,都是增量备份(差异备份)。只同步变化的数据

4、同步方式:
下行同步:

从源端同步到客户端

上行同步:

从客户端同步到源端

二、rsync相关命令
1、rsync常用命令的选项:
rsync -r:递归模式,目录包含子目录里面的所有文件

rsync -l:复制链接文件,软链接

rsync -v:显示同步过程中的详细信息

rsync -z:传输文件时进行压缩

rsync -a:归档模式,可以保留文件的权限、属性等等

rsync -p:保留文件的权限标记(所有者和所在组)

rsync -t:保留时间标记(时间戳)

rsync -g:保留文件的所在组(管理员)

rsync -o:保留文件的所有者(管理员)

rsync -H:保留硬链接

rsync -D:保留设备文件和其他特殊文件

rsync --delete:删除目标位置有,但是原始文件没有的文件(相同的数据不作操作)

2、启动和关闭rsync服务:
启动 rsync 服务,以独立监听服务的方式(守护进程)运行

rsync --daemon

3、关闭 rsync 服务
kill $(cat /var/run/rsyncd.pid)

rm -rf /var/run/rsyncd.pid

二、inotify命令:

inotifywait -mrq -e modify,create,move,delete /opt/test/

-m:持续监控

-r:递归整个目录

-q:信息提示

-e:指定监控的事件,多个事件用逗号隔开

三、实验    下行同步

 服务端的文件配置 

vim  /etc/rsyncd.conf 

 

服务端开始向客户端发起同步

 免密同步

客户端test2创建同步任务

四、实验

实现上行同步

客户端安装inotify软件包

客户端监控 

同步到服务端   

配置客户端文件   vim inotify.sh

--delete:保证客户端和服务端内容完全一致

 查看服务端同步情况

 


http://www.ppmy.cn/server/96269.html

相关文章

电脑自动重启是什么原因?重启原因排查和解决办法!

当你的电脑突然毫无预警地自动重启,不仅打断了工作流程,还可能导致未保存的数据丢失,这无疑令人很懊恼,那么,电脑自动重启是什么原因呢?有什么方法可以解决呢?别担心,在大多数情况下…

MATLAB(7)潮汐模型

一、前言 在MATLAB中模拟潮汐通常涉及到使用潮汐的理论模型,如调和常数模型(Harmonic Constants Model),它基于多个正弦和余弦函数的叠加来近似潮汐高度随时间的变化。以下是一个简化的MATLAB代码示例,用于模拟一个基于…

C++笔记之编译过程和面向对象

回顾: “abcd”//数据类型 字符串常量 const char *p"abc"; new STU const char *//8 指针的内存空间 int float 指针的内存空间 p 指针指向的内存空间 "abc" 取决于字符串长度 指针变量的内容一级指针 指针变量的地址二级指针 …

LearnOpenGL之摄像机

前序 AndroidLearnOpenGL是本博主自己实现的LearnOpenGL练习集合: Github地址:https://github.com/wangyongyao1989/AndroidLearnOpenGL 系列文章: 1、LearnOpenGL之入门基础 2、LearnOpenGL之3D显示 3、LearnOpenGL之摄像机 4、LearnOpenG…

RabbitMq架构原理剖析及应用

文章目录 RabbitMQ 架构组件1. **Broker** (Broker Server)2. **Exchange**3. **Queue**4. **Producer** (消息生产者)5. **Consumer** (消息消费者)6. **Virtual Hosts** (虚拟主机) 工作流程内部原理1. **队列管理**2. **集群**3. **持久化与内存**4. **性能优化** 高级特性1…

Pytest测试报告生成专题

在 pytest 中,你可以使用多个选项生成不同格式的测试报告。以下是几种常用的生成测试报告的方法: 1. 生成简单的测试结果文件 你可以使用 pytest 的 --junitxml 选项生成一个 XML 格式的测试报告,这个报告可以与 CI/CD 工具集成。 pytest …

实现基于 Python 和 xterm.js 的 Web 交互终端demo

前端 (HTML): 使用 xterm.js 作为前端终端模拟器库。 创建了一个 WebSocket 连接到 ws://localhost:8765,这与后端服务器的地址和端口匹配。 监听 WebSocket 消息,并将数据写入终端。同时监听用户输入并发送到服务器。 后端 (Python): 使用 websockets 库来创建 WebSocke…

LVS负载均衡群集

一:LVS群集应用基础 1.1:群集技术概述 群集技术是一种将多台独立的计算机组合起来协同工作的技术,以提供比单一计算机更高的性能、可用性和可靠性。群集通常由以下组件构成: 硬件资源:包括服务器、网络设备和存储设…