日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

inotify加rsync备份mysql_centos7 实现inotify-tools + rsync,自动备份mysql数据库

發布時間:2025/3/12 数据库 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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数据库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。