博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Rsync+Inotify 实时备份
阅读量:7133 次
发布时间:2019-06-28

本文共 1690 字,大约阅读时间需要 5 分钟。

项目:

配置Rsync+inotify 实时备份

简介:

·Rsync:是一个开源的快速备份工具,它可以在不同的主机之间同步整个目录树,并且可以保持连接和权限在传输前执行压缩,因此很适用于异地备份、镜像服务器等应用。主要用于下行同步。
Rsync官网地址是:http://rsync.samba.org

·Inotify:是用来监控文件系统的各种变化,比如:删除、移动、修改、存取等等。利用这一个功能,可以实现文件异动的警告,这样有利于工作人员对对其做出相应的动作。

Inotify机制需要安装inotify-tools。有需要安装包的朋友访问https://pan.baidu.com/s/1fls4l4eM0MAXgXccG5rYTw(百度网盘)密码:n4hd

·Rsync+inotify:这两个相结合,可以实现实时同步,也就是说,只要原来的位置的文档发生变化,就立即同步,否则就保持静默的状态。

它的好处就可以避免了固定周期性备份存在的延迟、周期过密等问题。主要用于上行同步

部署准备:

·VMware虚拟机
·CentOS 7 IP:192.168.100.60 仅主机模式(同步源)
·CentOS 7-1 IP:192.168.100.70 仅主机模式(发起端)
·inotify-tools安装包。
·yum仓库、gcc、gcc-c++

最终目的:

·实现实时同步目录树的所有信息

部署开始:

·在系统安装前都已经安装了rsync,所以我们现在只需要修改其配置文件:
vim /etc/rsyncd.conf //修改rsync主配置文件
Rsync+Inotify 实时备份

·创建账号数据文件:vim /etc/rsyncd_users.db

·因为账号和密码都是明文的,所以为了安全我们需要修改文件权限:chmod 600 /etc/rsyncd_users.db
Rsync+Inotify 实时备份

·关闭防火墙:systemctl stop firewalld.service

setenforce 0
·开启rsync守护进程:rsync --daemon
Rsync+Inotify 实时备份

·现在可以验证rsync下行同步。在发起端:CentOS 7-1 执行命令:rsync -avz yihong@192.168.100.60::wwwroot /bbb

Rsync+Inotify 实时备份

·在实际工作中,每次同步都需要输密码,或者为了后面的实时同步考虑,我们应该写入同步用户的密码,这样就可以免除人机交互。利于之后写脚本:vim /etc/server.pass

Rsync+Inotify 实时备份

·执行命令:rsync -azv --password-file=/etc/server.pass yihong@192.168.100.60::wwwroot /bbb

跳过密码验证,直接同步。

配置rsync+inotify 实时同步:

·在发起端安装inotify-tools。分别执行命令:
1:tar -zxvf inotify-tools-3.14.tar.gz -C /opt/
2:cd /opt/inotify-tools-3.14
3:./configure
4:make && make install

·inotify机制提供了三个调控参数:1、监控时间队列。2、最多监控实列数。3、每个实例最多监控文件数

修改配置文件:vim /etc/sysctl.conf 修改配置文件后执行命令:sysctl -p
Rsync+Inotify 实时备份

·编写触发式同步脚本,可以编写一个脚本:用来检测本机你自己指定的目录的变动情况,一旦有更新触发rsync同步操作,就会上传至你指定的备份服务器下。

vim /opt/inotify.sh 给予脚本执行权限:chmod +x /opt/inotify.sh
Rsync+Inotify 实时备份

·在同步源服务端关闭read only = no

测试:
Rsync+Inotify 实时备份
Rsync+Inotify 实时备份
Rsync+Inotify 实时备份

同步成功;

实验结束。

总结:

·主要配置文件的修改,注意路径。
·注意文件的权限设置
·配置rsync+inotify 实时同步需要修改服务端的read only = no(否则会报错)

转载于:https://blog.51cto.com/13746824/2156836

你可能感兴趣的文章
byobu相关操作
查看>>
父页面操作嵌套iframe子页面的HTML标签元素
查看>>
在TSQL中用case,when之类同时查多种情况
查看>>
Math,random()返回区间内的随机数
查看>>
TCP/IP网络协议的通俗理解,socket,http,soap
查看>>
简单数论
查看>>
Linux 文件系统
查看>>
更换你的Chrome开发工具风格
查看>>
化工厂装箱员 洛谷 p2530
查看>>
代码替换修复总结
查看>>
ubuntu 14.04 LTS 右键菜单解压压缩包时出错
查看>>
Mysql 查询缓存
查看>>
ubuntu搭建mediawiki
查看>>
uoj#274. 【清华集训2016】温暖会指引我们前行(LCT)
查看>>
[51nod1222] 最小公倍数计数(莫比乌斯反演)
查看>>
LeetCode - 37. Sudoku Solver
查看>>
公钥,私钥和数字签名这样最好理解
查看>>
SqlBulkCopy 类
查看>>
csu1811(树上启发式合并)
查看>>
spring 整合maven 定时任务调度,多个任务写法
查看>>