inotify加rsync备份mysql_centos7 实现inotify-tools + rsync,自动备份mysql数据库
一. 环境说明
为了实现zabbix备份数据库自动同步,到备份服务器搭建
解决方案是在后端建立一个数据发布服务器,该服务器作为rsync客户端,通过inotify机制实时监控网站数据,当数据发生变化后调用rsync命令上传数据到备份服务器(也是rsync服务器)
我使用3台机器做的实验
pc1的ip为10.10.251.49(复制 sync),同步备份客户端mysql数据,也是rsync服务端,需要修改/etc/rsyncd.conf配置文件
pc3的ip为10.10.251.65(主 inotify+sync),作为自动备份zabbix_mysql数据库服务器,是rsync的客户端,不需要配置/etc/rsyncd.conf,但是需要安装inotify
也可以互相同步文件,反过来搭建就可以实现
需要关闭selinux ,防火墙
二. 在服务器上部署rsync服务器
在服务器上部署rsync服务,这些rsync服务需要提供客户端上传功能,以实现客户端主机将数据推送到rsync服务器,这样我们只需要在10.10.251.49主机上修改数据,就可以实时推送数据到zabbix_mysql数据库服务器上
pc1的配置如下
yum -y install rsync #centos7中默认已安装
mkdir -p /root/bak #建立数据同步存放目录
chmod 770 /root/bak #修改权限,必须要有读,写,执行权限,否而会失败。
chown nobody.nobody /root/bak #修改所属
然后添加修改配置文件,vim /etc/rsyncd.conf 如下
transfer logging = yes
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
uid = nobody
gid = nobody
use chroot = no
ignore errors
read only = no
[zabbix1] #
comment = zabbix1 名字随意
path = /root/bak #同步主机上的目录,
auth users = tom
secrets file = /etc/rsyncd.secrets #根据这个名字创建文档,可以自己修改路径名字
host allow = 10.10.251.65 #从哪个主机同步,就写那个ip
list = false
然后设置密码文件,防火墙
echo "tom:123" > /etc/rsyncd.secrets # 需要创建用户名为tom 密码为123 的用户
chmod 600 /etc/rsyncd.secrets #加权限
systemctl restart rsyncd
rsync --daemon #一定记得要开启rsync
echo "rsync --daemon" >> /etc/rc.local 设置开机运行
三。主 inotify+sync服务器(10.10.251.65)
1. 安装相应软件
yum -y install rsync
systemctl start rsyncd
rsync --daemon #开启rsync
yum -y install automake libtool #安装编译安装软件所需工具
解压后进入inotify-tools-3.13目录,执行如下安装
./configure #默认安装路径是/usr/local,如果想改变路径可在后面加参数 --prefix 路径名
make && make install
2. 设置密码文件
echo "123" > /root/rsync.pass #123为rsync服务端配置的用户名为tom的密码
chmod 600 /root/rsync.pass
红字部分注意对应。
3. 编写监控脚本
vim notify_rsync.sh
#!/bin/bash
host_slave=10.10.251.49 # 对端想要同步的ip
master_src=/root/bak #同步路径
inotify_home=/usr/local/ #inotifywait (这个试行程序的路径)
${inotify_home}/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e close_write,modify,delete,create,attrib $master_src \
| while read file
do
rsync -az --delete ${master_src} rsynclsl@${host_slave}::zabbix1 --password-file=/root/rsync.pass
done
然后执行此脚本 sh notify_rsync.sh,注意脚本会一直运行,你去主上创建,在备份机就可以看到效果了,就因为不知道这个,排错多一个小时
之后就可以实现同步如下图
本次参考:https://www.cnblogs.com/regit/p/8073097.html
inotify加rsync备份mysql_centos7 实现inotify-tools + rsync,自动备份mysql数据库相关推荐
- 计算机文件自动备份到移动硬盘,电脑文件定时自动备份到移动硬盘,有什么方法?...
原标题:电脑文件定时自动备份到移动硬盘,有什么方法? 如果你是一名上班族,那么肯定会有备份重要电脑文件的习惯,因为电脑系统崩溃挥着磁盘硬盘损坏将会导致电脑文件的丢失,文件备份可以帮助我们减少这种风险. ...
- 文件服务器如何异地备份,实战演示如何进行异地自动备份数据库
SQL专栏 SQL数据库基础知识汇总 SQL数据库高级知识汇总 有小伙伴提出如何进行异地备份的问题,今天我们就来给大家演示一下. 异地备份 所谓异地备份,就是将服务器端的数据文件,拷贝到本地或者其他地 ...
- 设置备份计划后,不能执行自动备份
1.设置备份计划后,不能执行自动备份: 2.查询知识库中内容,按照知识库提供的方式进行设置和调试,还是无法进行自动备份. 3.软件涉及版本航信10.2基础版.10.2标准版.10.3基础版.10.3标 ...
- 西加云杉700E设备AAA认证之Radius服务器与Mysql数据库交互
简介 目的: AC向FreeRadius服务器发送验证请求时,Radius服务器与mysql数据库认证后通过认证请求,使请求的用户可以上网. 文章结构 FreeRadius配置 Mysql数据库配置 ...
- linux oraclerman自动备份,Linux平台下的Oracle自动备份案例(使用RMAN)
有个童鞋问rman的自动备份脚本程序,我之前有写过exp备份指定方案自动备份案例(Linux平台下的Oracle自动备份案例(使用exp工具) http://www.linuxidc.com/Lin ...
- linux 自动配置 mysql数据库,Linux下配置mysql数据库主从自动备份
当网站内容越来越多的时候,数据库也变得越来越大了.如果不小心误删了,或者被攻击了,那就什么都没有了,一切归零.到现在博主也认识到了数据库的重要性,于是决定研究研究数据库的自动备份.如果你是土豪那可以直 ...
- mysql数据库备份工具expdb,使用expdp完成自动备份数据库案例以及遇到的问题
在线QQ客服:1922638 专业的SQL Server.MySQL数据库同步软件 1,exp和imp是客户端工具程序,它们可以在客户端或服务器上使用. 2.expdp和impdp是服务器端的工具程序 ...
- 怎么自动备份mysql数据库备份_3步教你一键自动备份mysql数据库的方法
@echo off color 0D MODE con: COLS=71 LINES=25 title mysql数据库自动备份脚本(任务计划)--脚本作者:https://www.***.com s ...
- mysql 备份库的shell_shell学习之自动备份mysql数据库
首先登陆mysql: mysql -u root -p注意:不是系统root的密码,mysql安装好后默认root密码为空 >set password for 'root'@'localhost ...
- 自动备份html文件,windows下定期自动备份本地文件(文件夹)
虽然网上有一些免费的文件自动备份软件,但是没有自己编写一段批处理来完成备份任务来的放心,而且不用占用系统资源. 就给大家讲一下如何利用批处理完成本地文件或者文件夹的备份. 1.批处理脚本 该方法可把某 ...
最新文章
- 2015211230108《Java程序设计》第10周学习总结
- linux查域名对应的ip 系统调用,DDNS 的工作原理及其在 Linux 上的实现
- C++ 成员函数做友元
- Faster RCNN中的交替训练
- python测试用例管理_Python测试框架Pytest的常用插件测试报告
- Codeforces Round #658 (Div. 2)
- power bi 中计算_Power BI中的期间比较
- c语言中把时间拷到字符串中,C语言中将日期和时间以字符串格式输出的方法
- 双十一,没有买卖就没有伤害!
- DB2数据库SQL语法大全推荐word版
- python 生成excel_python 数据生成excel导出(xlwt,wlsxwrite)代码实例
- paip.提升用户体验---业务SQL注入漏洞的分析与解决
- Visio绘制ER图-
- CGI与ISAPI的区别
- Nginx学习使用记录
- ant构建异常UNEXPECTED TOP-LEVEL EXCEPTION com.android.dx.cf.iface.ParseException解决
- 如何提升 B站 等级?
- 抽象思维能力训练随感
- TIA博途中如何为PLC分配IP地址?
- 创新方法72变(荣振环)
热门文章
- react 引用本地js_从零配置webpack 4+react脚手架(二)
- 百度地图软件测试,使用 app-inspector 解析 i 调用百度地图定位的页面时 (iOS),会导致测试 app 崩溃...
- 入门Mac快捷键详细分类整理,包括Eclipse和Android Studio中一些常用的快捷键
- C#泛谈 —— 变体(协变/逆变)
- 《信号检测与处理》的学习
- C++基础知识-Day8
- set-matrix-zeroes当元素为0则设矩阵内行与列均为0
- 欧几里德算法与扩展欧几里德算法
- Android 数据加密算法 Des,Base64详解
- 一条sql语句,要修改一个字段的俩个值,比如把字段sex中的男改为女,女改为男...