美文网首页小白学架构之路
rsync+inotify同步备份MYSQL数据

rsync+inotify同步备份MYSQL数据

作者: 潘晓华Michael | 来源:发表于2019-11-18 16:43 被阅读0次
    rsync

    原文链接:https://blog.csdn.net/hkyw000/article/details/51508204

    备份源10.16.77.93
    备份端10.16.77.95

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

    一.备份端服务的配置

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

    rpm -q rsync
    

    2)手动创建rsync的配置文件:/etc/rsyncd.conf

    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

    yum install inotify-tools -y
    

    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
    

    相关文章

      网友评论

        本文标题:rsync+inotify同步备份MYSQL数据

        本文链接:https://www.haomeiwen.com/subject/pyebictx.html