您的位置:首页 > 数据库 > MySQL

rsync+inotify同步备份MYSQL数据

2017-06-08 11:11 495 查看
备份源10.16.77.93

备份端10.16.77.95

原理:利用inotify监控mysql数据库数据目录:/usr/local/mysql/data

一.备份端服务的配置

1)确认rsync是否安装,大多数linux发行版默认安装rsync

rpm -q rsync

2)手动创建rsync的配置文件

uid=root

gid=root

use chroot = no

max connections = 10

strict modes = yes

pid file = /var/run/rsyncd.pid

lock file = /var/run/rsyncd.lock

log file = /var/log/rsyncd.log

[mysqldata]

path = /data/mysqldata

comment = mysql data

ignore errors 

read only = no

write only = no

hosts allow = 10.16.77.93

list = false

auth users = rsync_user

secrets file = /etc/rsync.password

3)建立rsync用户名和密码文件,并为/etc/rsync.password授权为600

echo "rsync_user:rsync_user_pwd" > /etc/rsync.password

chmod -R 600 /etc/rsync.password

4)启动rsync服务

rsync --daemon

至此备份端服务配置完成

二.备份源配置

1)设置rsync客户端密码文件,将密码文件的权限设置成600

客户端只需要设置rsync同步密码即可,不用重设用户名

echo "rsync_user_pwd" > /etc/rsync.password

chmod -R 600 /etc/rsync.password

2)安装inotify

./configure --prefix=/usr/local

make && make install

3)编写运行监控脚本。为了保证/usr/local/mysql/data目录自动同步,安装完成inotify后,写一个inotify脚本。

#!/bin/bash

ip=10.16.77.95

src=/data/mysqldata_src/

dst=mysqldata

user=rsync_user

/usr/local/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e modify,delete,create,attrib ${src} \

    | while read file

do

rsync -vzrtopg --delete --progress $src $user@$ip::$dst --password-file=/etc/rsync.password > /dev/null && echo "$src was rsyncd"

done
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: