rsync下同步inotify实时同步
文章目录
- rsync服务介绍:
- 简介
- rsync特性
- Rsync应用场景
- 全量备份:将数据完整的复制一份保留下了
- 增量备份:备份上一此备份后新增的数据
- rsync的传输方式
- Rsync的传输模式
- 配置rsync源服务器
- rsync命令参数
- 配置源的两种表示方式
- 配置rsync下行同步
- 192.168.3.11master
- slave 192.168.3.12
- 发起端配置 rsync + inotify
- 配置 Rsync+Inotify 实时同步
- 从服务器192.168.3.12
- Master(192.168.3.11)验证
rsync服务介绍:
rsync是远程增量文件备份工具
简介
rsync英文称为remote synchronizetion,
从软件的名称就可以看出来,
rsync具有可使本地和远程两台主机之间的数据快速复制同步镜像、远程备份的功能
rsync官方地址:rsync
rsync监听端口:873
rsync运行模式:C/S client/server
rsync简称叫做远程同步,可以实现不同主机之间的数据同步,还支持全量和增量
rsync特性
支持拷贝特殊文件,如连接文件、设备等。
可以有排除指定文件或目录同步的功能,相当于打包命令tar的排除功能。
可以做到保持原文件或目录的权限、时间、软硬链接、属主、组等所有属性均不改变 –p。
可以实现增量同步,既只同步发生变化的数据,因此数据传输效率很高(tar-N)。
可以使用rcp、rsh、ssh等方式来配合传输文件(rsync本身不对数据加密)。
可以通过socket(进程方式)传输文件和数据(服务端和客户端)。
支持匿名的活认证(无需系统用户)的进程模式传输,可以实现方便安全的进行数据备份和镜像。
Rsync应用场景
cron + rsync : 跟定时任务进行绑定。
rsync + innotify : 以守护进程的方式同步文件
全量备份:将数据完整的复制一份保留下了
增量备份:备份上一此备份后新增的数据
rsync的传输方式
push推:客户端将数据从本地推送至服务端
pull拉:客户端将数据从服务端拉取到本地
Rsync的传输模式
- 本地传输模式
- 远程传输模式
- 以守护进程的方式
配置rsync源服务器
建立rsyncd.conf配置文件,独立的账号文件
启动rsync的-daemon模式
应用示例
用户backuper,允许下行同步
操作的目录为/var/www/html配置文件rsyncd.conf
需要手动建立,语法类似于samba配置
认证配置auth users,secrets file 不加则为匿名rsync账号文件
采用“用户名:密码”的记录格式,每行一个用户记录
独立的账号数据,不依赖于系统账号启用rsync服务
通过–daemon肚子提供服务
执行kill $(cat /var/run/rsyncd.pid)关闭rsync服务
rsync命令参数
rsync 选项 原始位置 目标位置
-a 归档模式,递归并保留对象属性,等于-rlptgoD
-v 显示同步过程的详细信息
-z 在传输时进行压缩
-H 保留硬链接文件
-A 保留ACL属性信息
--delete 删除目标位置有,原始位置没有的文件
--checksum 根据对象的校验和来决定是否跳过文件
配置源的两种表示方式
格式1: 用户名@主机地址::共享模块名
格式2: rsync://用户名@主机地址/共享模块名
配置rsync下行同步
环境
master 192.168.3.11 安装rsync
slave 192.168.3.12 安装rsync / inotify-toos-3.14.tar.gz
192.168.3.11master
将master服务器数据备份到slave服务器
关闭防火墙
yum -y install httpd rsync #安装rsync
[root@slave opt]# rz -e
[root@slave opt]# ls
inotify-tools-3.14.tar.gz rh
vim /etc/rsyncd.conf #进入配置uid = root #匿名用户
gid = root #组
use chroot = yes #开启禁锢家目录
address = 192.168.3.11 #配置监听端口
port 873 #端口号
log file = /var/log/rsyncd.log #日志文件路径
pid file = /var/run/rsyncd.pid #pid文件路径
hosts allow = 192.168.3.0/24 #允许地址段访问
[wwwroot] #共享模块名
path = /var/www/html #共享文件路径
comment = Document Root of www.wxb.com #定义名称
read only = yes #只读权限
dont comperss = *.gz *.bz2 *.tgz *.zip *.rar *.z # 同步时不再压缩的文件类型,这些本为压缩文件
auth users = backuper # 授权用户,多个账号以空格隔开
secrets file = /etc/rsyncd_users.db #存放账号信息的数据文件,一行一个
:wq
vim /etc/rsyncd_users.db
kiki:123123chmod 600 /etc/rsyncd_users.db #官方授权600,不然报错rsync --daemon #开启服务
netstat -natp | grep rsync #检测端口服务是否启动cd /var/www/html #切换到共享目录下
touch aaa.html bbb.html #创建两个文本
ls
[root@master ~]# vim /etc/rsyncd.conf
backuper:123123
:wq
[root@master ~]# vim /etc/rsyncd_users.db
[root@master ~]# chmod 600 /etc/rsyncd_users.db
[root@master ~]# rsync --daemon
[root@master ~]# netstat -natp |grep rsync
tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 109225/rsync
tcp6 0 0 :::873 :::* LISTEN 109225/rsync
[root@master ~]# cd /var/www/html/
[root@master html]# touch aaa.html bbb.html
[root@master html]# ll -ld /var/www/html
drwxr-xr-x. 2 root root 38 11月 16 14:28 /var/www/html
[root@master html]# ls
aaa.html bbb.html
slave 192.168.3.12
systemctl stop firewalld.service
setenforce 0[root@slave ~]# yum -y install rsync #安装rsync[root@slave ~]# cd /opt/
[root@slave opt]# mkdir hhh
[root@localhost opt]# chmod 777 hhh
[root@localhost opt]# vim /etc/server.pass
123123
:wq
[root@localhost opt]# chmod 600 /etc/server.pass
[root@localhost opt]# rsync -az --delete --password-file=/etc/server.pass backuper@192.168.3.11::wwwroot /opt/hhh
[root@localhost opt]# ls hhh
aaa.html bbb.html
发起端配置 rsync + inotify
使用 inotiify 通知接口,可以用来监控文件系统的各种变化情况,如文件存取、删除、移动、修改等。利用这一机制,可以非常方便地实现文件异动告警、增量备份,并针对目录或文件的变化及时作出响应。
将 inotify 机制与 rsync 工具相结合,可以实现触发式备份(实时同步),即只要原始位置的文档发生变化,则立即启动增量备份操作;否则处于静默等待状态。这样,就避免了按固定周期备份时存在的延迟性、周期过密等问题。
因为 inotify 通知机制由 Linux 内核提供,因此主要做本机监控,在触发式备份中应用时更适合上行同步。
配置 Rsync+Inotify 实时同步
master 192.168.3.11
安装rsync
[root@localhost etc]# vim /etc/rsyncd.conf
read only = no
:wq
[root@localhost etc]# kill `cat /var/run/rsyncd.pid`
[root@localhost etc]# netstat -natp |grep rsync
[root@localhost etc]# rsync --daemon
[root@localhost etc]# netstat -natp |grep rsync
tcp 0 0 192.168.3.11:873 0.0.0.0:* LISTEN 104556/rsync
[root@localhost etc]# chmod 777 /var/www/html/
[root@localhost opt]# cat /proc/sys/fs/inotify/max_queued_events
[root@localhost opt]# cat /proc/sys/fs/inotify/max_user_instances
[root@localhost opt]# cat /proc/sys/fs/inotify/max_user_watches [root@localhost opt]# vim /etc/sysctl.conf fs.inotify.max_queued_events = 32768
fs.inotify.max_user_instances = 1024
fs.inotify.max_user_watches = 1048576
:wq
[root@localhost opt]# sysctl -p
fs.inotify.max_queued_events = 32768
fs.inotify.max_user_instances = 1024
fs.inotify.max_user_watches = 1048576
从服务器192.168.3.12
安装rsync 和辅助工具inotify
yum -y install gcc gcc-c++ #安装编译环境,centos7默认安装#放入安装包
tar zxvf inotify-tools-3.14.tar.gz -C /optcd /opt/inotify-tools-3.14/ #切到压缩好的目录下./configure #安装软件,使用系统默认路径/usr/local
make && make install #编译安装
在另一个终端编写触发式同步脚本(backuper)
[root@localhost opt]# vim /opt/inotify.sh#!/bin/bash
INOTIFY_CMD="inotifywait -mrq -e create,delete,move,modify,attrib /opt/hhh/"
RSYNC_CMD="rsync -az --delete --password-file=/etc/server.pass /opt/hhh/ backuper@192.168.3.11::wwwroot"$INOTIFY_CMD | while read DIRECTORY EVENT FILE
doif [ $(pgrep rsync | wc -l) -le 0 ] ; then$RSYNC_CMDfi
done
:wq#上述脚本用来检测本机 /var/www/html 目录的变动情况,一旦有更新触发 rsync 同步操作,上传备份至服务器 192.168.10.30 的 rsync 共享目录下。#触发式上行同步的验证过程如下:
在本机运行 /opt/inotify_rsync.sh 脚本程序
[root@localhost opt]# chmod +x inotify.sh
[root@localhost opt]# ./inotify.sh & #后台执行脚本
[1] 102208
[root@localhost opt]# cd hhh/
[root@localhost hhh]# ls
aaa.html bbb.html
[root@localhost hhh]# touch ccc.html #新建一个
[root@localhost hhh]# rm -rf aaa.html #删除一个文本
[root@localhost hhh]# ls
bbb.html ccc.html
- 一定要看清目录名,下面有错/haha应该为hhh,写错了
Master(192.168.3.11)验证
同步成功
rsync下同步inotify实时同步相关推荐
- rsync同步+inotify实时同步
rsync下行同步+inotify实时同步部署 一.rsync简介 二.rsync同步源 三.配置rsync源 1.基本思路 2.配置文件rsyncd.conf 3.独立的账号文件 4.启用rsync ...
- rsync数据同步+inotify实时同步
rsync数据同步+inotify实时同步 一.rsync 1.rsync概述 2.rsync优缺点 3.rsync同步源 4.rsync命令 5.配置rsync 二,inotify实时同步 1.调整 ...
- Rsync下行同步+inotify实时同步介绍和部署
Rsync下行同步+inotify实时同步介绍和部署 一.Rsync 1.Rsync同步源 2.Rsync服务器 3.同步方式 二.配置rsync源 三.rsync命令 四.配置源的两种表示方法 1. ...
- rsync同步+inotify实时同步部署
目录 一.rsync简介 二.rsync同步源 三.配置rsync源 1.基本思路 2.rsync命令 3.配置源的两种表达方式 4.免交互格式 四.配置rsync远程同步 1.关防火墙.安装相应的软 ...
- rsync下行同步+inotify实时同步部署
目录 rsync简介 rsync同步方式 rsync特性 rsync与cp.scp对比 rsync同类服务 rsync源服务器的关系 配置rsync源 rsync命令 rsync本地复制实例 配置源的 ...
- rsync同步操作 、 发布rsync共享 、 inotify实时同步 、 Split分离解析
虚拟机A 1. 将防火墙状态设置为trusted 2.SELinux当前修改为permissive 3.SELinux永久状态修改为permissive 4.清空Yum缓存,检 ...
- Rsync 下行同步 + Inotify 实时同步详解
文章目录 一.rsync 同步简介 1. 关于 rsync 2. rsync 同步源(备份源) 二.配置 rsync 备份源 1. 关闭防火墙 2. 查看 rsync 是否已安装 3. 建立 /etc ...
- rsync同步操作 inotify实时同步 cobbler装机平台 DNS主从结构
目录 rsync同步操作 rsync基本使用 rsync+ssh同步:远程同步 实时同步 inotify实时同步 inotifywait监控 cobbler装机平台 cobbler简介 基本概念: 装 ...
- Centos7 下 配置 rsync 以及 rsync+inotify 实时同步
Centos 7 下 配置 Rsync 以及 rsync+inotify 实时同步 rsync介绍 rsync是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支 持增量备份,保持链接和 ...
- Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
1.什么是 Rsync? Rsync 是一个开源的快速备份工具,是Linux和UNIX操作系统默认安装的组件之一,可在不同主机间镜像同步整个目录,并支持增量备份文件传输,保持链接和权限,采用优化的同步 ...
最新文章
- 强化学习gym库中的Pendulum-v1/CartPole-v1游戏介绍
- 【WP开发问题1】 请确保已为开发人员解锁此设备。有关开发人员解锁的详细信息,...
- 小度智能音箱维修点_智能音箱哪个好?小度 小爱 天猫 评测
- 给Java初学者的十条小建议,快来收藏吧
- Java黑皮书课后题第9章:9.7(Account类)设计一个名为Account的类,它包含……。编写一个测试程序,创建一个账户ID为1122、余额为20000美元、年利率为4.5%的Account…
- 具备自动刷新功能的 SAP ABAP ALV 报表
- gazebo入门_Gazebo仿真控制中,有哪些你不知道的秘密?
- 流程平台:子表控件(二) - 属性、事件、方法
- 图解算法学习笔记(六):广度优先搜索
- c语言逃跑的蠕虫函数,源码指标:穿越5线 第一时间吃鱼身 上行末端逃跑 没有未来函数 通达信幅图 精品公式...
- Flutter实战一Flutter聊天应用(三)
- Vite ---- 创建Vue3.0+TS项目
- macOS 内置的端口扫描工具
- word为什么前面空白但是字上不去?
- 支付订单中未付款倒计时
- (最优化理论与方法)第二章最优化所需基础知识-第七节:保凸的运算和共轭函数
- MIPS、CPI、MFLOPS
- TogetherJS – 酷!在网站中添加在线实时协作功能
- 小米5 摄像头技术规格
- java视频学习网(java教程视频网)
热门文章
- luac 格式分析与反编译
- 如何在EXCEL中只复制可见单元格(忽略隐藏行/列)
- java 语音库_语音控制pc
- python根据文件名筛选文件_Python-实现筛选出文件夹下含有特定名字的文件
- 使用HandBrake的视频压制及投稿教程
- 神经网络的BP算法推导详解
- 个人打造sm2258xt固态U盘全过程分享,附量产工具和教程
- 2020-2023保时捷Taycan维修手册电路图技术培训手册用户手册电动汽车技术资料
- 高中计算机会考操作题frontpage,高中信息技术会考frontpage操作题要点
- android 音频对比,差距只有安卓?索尼Zx300a与505全方位对比