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

mysqldump 定时备份到rsync服务器

2016-12-16 17:20 246 查看
首先我们yum install vim rsync 

rsync服务挺好配置的vim /etc/rsyncd.conf          注意是rsyncd 不是rsync

rsync的配置挺简单的将下面的配置贴上去 

uid = root
gid = root
use chroot = no
max connections = 2
strict modes = yes
port = 873
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
[backup] 模板名称
path = /opt/backup/ 同步的路径
comment = RSYNC
read only = no
#write only = yes
list = no
auth users = root 连接模块的用户
secrets file = /etc/rsyncd.pas 用户的密码文件最重要的就是上面注释的几行了        ps:复制的时候注意把注释去掉
创建密码文件:/etc/rsyncd.pas

echo 'root:rsync' > /etc/rsyncd.pas root为用户 rsync是密码 记得用户和密码之间加:改变文件权限chown root:root/etc/rsyncd.pas && chmod 600/etc/rsyncd.pas

客服端的配置就很简单了-- yum install vim rsync 

创建密码文件 文件名与服务端一致/etc/rsyncd.pas

echo 'rsync' > /etc/rsyncd.pas          客服端是只需要输入密码就行

改变文件权限chown root:root /etc/rsyncd.pas && chmod 600 /etc/rsyncd.pas

然后测试看能不能成功rsync -avzP --password-file=/etc/rsyncd.pas $dir root@172.16.100.109::backup

注: $dir是你需要同步的目录 ::backup是rsync上配置的模块--password-file=指定密码文件
-avzP保持文件原有属性不变,P查看传输过程

如果报错请检查密码文件的权限是否正确 ,rsyncd.conf是否配置正确

配置mysql备份 :

编辑/etc/my.cnf.d/mysql-clients.cnf 找到mysqldump 在下面添加

[mysqldump]

user=root                                  这里最好不要用root用户 我这里只是测试

password=yuan

这样我们在备份时就不用输入密码了

备份命令:mysqldump -uroot -A -R > /opt/backup/mysql-$(date +%F)-rsync.sql -A为全库备份 -R导入储存过程(这个很重要)

贴上我的脚本

#! /bin/bash
date=`date +\%Y-\%m-\%d`
dir=/opt/backup/
mysqldump -uroot -A -R > /opt/backup/mysql-$date-sync.sql
echo $date >> /opt/backup/time.log

sleep 60
/usr/bin/rsync -avzP --password-file=/etc/rsyncd.pas $dir root@172.16.100.109::backup将上面内容写到mysql_rsync.sh 里面 chomd a+x mysql_rsync.sh
将mysql_rsync.sh 加入crond

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