Rsync+inotify 搭建企业实时备份数据服务器

简介:

一.Rsync简介

二.Rsync优点与不足

三.Inotify简介

四.Rsync+Inotify组合实验案例

一.Rsync简介

Rsync(remote synhronize)是一个远程数据同步共组,可通过LAN/WAN快速同步多台主机间的文件。Rsync使用所谓的“Rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。

二.Rsync优点与不足

优点:

快速:第一次同步时rsync会复制全部内容,但在下一次只传输修改过的文件。

安全:rsync允许通过ssh协议来加密传输数据。

更少的带宽:rsync在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽。

特权:安装和执行rsync无需特别的权限

缺点:

由于rsync同步数据时,需要扫描所有文件后进行比对,进项差量传输,所以不适宜传输大数据Rsync不能实现实时的去检测文件系统中的添加、删除、修改等操作,无法及时同步数据。

三.Inotify简介

Inotify是一种强大的,细粒度的,异步的文件系统监控机制。Linux内核从2.6.13起,加入了inotify支持,通过inotify可以监控文件系统中添加,删除,修改,移动等各种细微时间,利用这个内核接口,第三方软件就可以监控文件系统下文件的各种变化情况,而inotify-tool就是这样的一个第三方软件。

四.Rsync+Inotify组合实验案例

wKiom1bhKfbiEigOAABODorrnP4242.png

系统、软件说明:

    Centos6.4x86_64;rsync;inotify-tools-3.14.tar.gz

 

Backup服务器安装配置:

1.安装Rsync服务器

[root@localhost ~]# rpm -qa | grep rsync

[root@localhost ~]# yum -y install rsync

创建rsync的配置文件

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

wKiom1bhKivSByVFAAA2p5AzBkk662.png

注释:

第1-2行:指定备份的用户和组,root为任何用户

   第3行:  此处传输文件时无需chroot到path参数所指定的目录下

   第4行:  最大连接数

   第5行:  覆盖客户指定的IP超时时间,也就是说rsync服务器不会永远等待一个崩溃的客户端。

   第6-8行:指定pid,lock,log的文件

   第9行:  指定认证模块名称,注意此模块是对外公布的模块

   第10行: 指定备份的路径

   第11行: 可以忽略一些无关的IO错误

   第12行: 允许可读可写

   第13行: 不允许列清单

   第14行: 只允许19.168.0.0网段进行同步,拒绝其它IP

   第15行: 认证的用户名

   第16行: 指定密码文件的存放路径

创建备份目录并设置目录的权限并启动rsync服务

wKiom1bhKm_xmgumAAAZQAt6c1k525.png

wKiom1bhKnCw4YYyAAA1l4cWWAU661.png

wKiom1bhKnPCIdKYAAF_icb5uIA818.png

设置开机启动:

[root@localhost ~]# echo "/usr/bin/rsync--daemon" >> /etc/rc.local

在数据服务器192.168.20.160安装:

  1. 创建认证文件并设置权限:

[root@master ~]# echo "123456789" >/etc/web.passwd && chmod 600 /etc/web.passwd

  1. 服务器进行服务测试:

[root@master ~]# yum -y install rsync

wKiom1bhKqHx4-OlAAAicFtjnBU001.png

此时rsync已经配置成功,但是不能监控文件的变化此时就需要安装inotify。

由于inotify特性需要linux内核版本的支持,在安装inotify-tools前要确认linux系统内核是否达到了2.6.13以上,如果没有,就要重新编译内核。

判断内核是否支持inotify:

wKioL1bhK1uSTGKwAAAKnZeZ0yc990.png

检查系统是否支持inotify

wKiom1bhKxDzGlKLAAAcpHmASdM065.png

如果有以上3个文件说明系统默认是支持inotify功能的

安装inotify-tools工具

wKiom1bhK0CjhJiaAAAT45qy_-U450.png

[root@master inotify-tools-3.14]# ./configure--prefix=/usr/local/inotify

[root@master inotify-tools-3.14]# make && makeinstall

配置脚本并设置权限

wKiom1bhK2mRCAnuAAA4FaiT7WQ845.png

测试:

wKioL1bhLBSgkotfAAA3tA8g-MA391.png

检查结果:

wKioL1bhLDWwBZ7LAAApcchrEzY564.png

设置开机启动:

    echo "/etc/rsync.sh &">> /etc/rc.local

在另外一台主机上做上面同样的操作:

注意修改脚本中的:

des=history161

 

首次启动:

rsync--daemon --config=/etc/rsyncd.conf                           本文转自 zhuxtqw 51CTO博客,原文链接:http://blog.51cto.com/1054054/1749630,如需转载请自行联系原作者

相关文章
|
3月前
|
机器学习/深度学习 人工智能 运维
企业内训|LLM大模型在服务器和IT网络运维中的应用-某日企IT运维部门
本课程是为某在华日资企业集团的IT运维部门专门定制开发的企业培训课程,本课程旨在深入探讨大型语言模型(LLM)在服务器及IT网络运维中的应用,结合当前技术趋势与行业需求,帮助学员掌握LLM如何为运维工作赋能。通过系统的理论讲解与实践操作,学员将了解LLM的基本知识、模型架构及其在实际运维场景中的应用,如日志分析、故障诊断、网络安全与性能优化等。
100 2
|
2月前
|
弹性计算 监控 数据库
制造企业ERP系统迁移至阿里云ECS的实例,详细介绍了从需求分析、数据迁移、应用部署、网络配置到性能优化的全过程
本文通过一个制造企业ERP系统迁移至阿里云ECS的实例,详细介绍了从需求分析、数据迁移、应用部署、网络配置到性能优化的全过程,展示了企业级应用上云的实践方法与显著优势,包括弹性计算资源、高可靠性、数据安全及降低维护成本等,为企业数字化转型提供参考。
61 5
|
2月前
|
弹性计算 监控 容灾
阿里云ECS提供强大的云上灾备解决方案,通过高可用基础设施、多样的数据备份方式及异地灾备服务,帮助企业实现业务的持续稳定运行
在数字化时代,企业对信息技术的依赖加深,确保业务连续性至关重要。阿里云ECS提供强大的云上灾备解决方案,通过高可用基础设施、多样的数据备份方式及异地灾备服务,帮助企业实现业务的持续稳定运行。无论是小型企业还是大型企业,都能从中受益,确保在面对各种风险时保持业务稳定。
49 4
|
2月前
|
XML 前端开发 JavaScript
PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑
本文深入探讨了PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑;Ajax则通过异步请求实现页面无刷新更新。文中详细介绍了两者的工作原理、数据传输格式选择、具体实现方法及实际应用案例,如实时数据更新、表单验证与提交、动态加载内容等。同时,针对跨域问题、数据安全与性能优化提出了建议。总结指出,PHP与Ajax的结合能显著提升Web应用的效率和用户体验。
56 3
|
2月前
|
存储 运维 算法
服务器数据恢复—raid6阵列硬盘重组raid5阵列如何恢复raid6阵列数据?
服务器存储数据恢复环境: 存储中有一组由12块硬盘组建的RAID6阵列,上层linux操作系统+EXT3文件系统,该存储划分3个LUN。 服务器存储故障&分析: 存储中RAID6阵列不可用。为了抢救数据,运维人员使用原始RAID中的部分硬盘重新组建RAID并进行了初始化。 初始化开始一段时间后,运维人员察觉到情况有异后强制终止初始化,这个时候初始化已经完成一半以上。数据部分已被不可逆的破坏。
|
3月前
|
存储 数据挖掘
服务器数据恢复—用RAID5阵列中部分盘重建RAID5如何恢复原raid5阵列数据?
服务器数据恢复环境: 一台服务器挂接一台存储,该存储中有一组由5块硬盘组建的RAID5阵列。 服务器故障: 存储raid5阵列中有一块硬盘掉线。由于RAID5的特性,阵列并没有出现问题。工作一段时间后,服务器出现故障,用户方请人维修。维修人员在没有了解故障磁盘阵列环境的情况下,用另外4块硬盘(除去掉线的硬盘)重新创建了一组全新的RAID5阵列并完成数据同步,导致原raid5阵列数据全部丢失。
|
3月前
|
Python
Flask学习笔记(三):基于Flask框架上传特征值(相关数据)到服务器端并保存为txt文件
这篇博客文章是关于如何使用Flask框架上传特征值数据到服务器端,并将其保存为txt文件的教程。
38 0
Flask学习笔记(三):基于Flask框架上传特征值(相关数据)到服务器端并保存为txt文件
|
3月前
|
SQL 分布式计算 关系型数据库
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
108 3
|
3月前
|
弹性计算 Linux 数据库
阿里云国际版如何迁移Linux云服务器系统盘中的数据
阿里云国际版如何迁移Linux云服务器系统盘中的数据
|
3月前
|
弹性计算 安全 测试技术
阿里云国际服务器与游戏出海业务结合,九河云助推企业快速运营
阿里云国际服务器与游戏出海业务结合,九河云助推企业快速运营