开发者社区> 科技小能手> 正文

Backup Myssql and using rsync 实现备份和传输

简介:
+关注继续查看

大致说下环境吧:

mysql的数据库的地址是 10.254.254.23, 要把数据库备份到本机的其他文件夹下;同时要通过增量备份的方式把备份的数据传输到另外的10.254.254.29的机器上

 

实现方法:

备份本机的mysql:(可以参考: http://my.oschina.net/u/919074/blog/223920

第一步:在服务器上配置备份目录代码: 

-------------------------------------------------------------------------------- 

mkdir /var/lib/mysqlbackup 

cd /var/lib/mysqlbackup 

-------------------------------------------------------------------------------- 

第二步:编写备份脚本代码: 

-------------------------------------------------------------------------------- 

vi dbbackup.sh 

-------------------------------------------------------------------------------- 

粘帖以下代码,务必更改其中的username,password和dbname。 

代码: 

-------------------------------------------------------------------------------- 

#!/bin/sh

mysqldump -uuser -ppassword dbname | gzip > /var/lib/mysqlbackup/dbname`date +%Y-%m-%d_%H%M%S`.sql.gz

cd  /var/lib/mysqlbackup

   rm -rf `find . -name '*.sql.gz' -mtime 5`  #删除5天前的备份文件

-------------------------------------------------------------------------------- 

第三步:更改备份脚本权限 

代码: 

-------------------------------------------------------------------------------- 

chmod +x dbbackup.sh 

-------------------------------------------------------------------------------- 

第四步:用crontab定时执行备份脚本代码: 

-------------------------------------------------------------------------------- 

vi /etc/crontab

写入:

30 4 * * * /var/lib/mysqlbackup/dbbackup.sh

 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

以上步骤实现了,把文件备份到本地,那么更安全的方法是把这个文件在远程的机器上也copy一份

所以在10.254.254.29的linux机器上:(可以参考:http://servershuji.blog.51cto.com/1283121/580628/

首先在10.254.254.29的机器上把要用的文件第一次copy过来,因为用rsync的会有点慢,但是没有文件的更新这个工具会自动识别并copy的,

scp -r root@10.254.254.23:/home/DB_BACKUP/ /home/zabbix_backup

然后再10.254.254.29要考虑不能每次copy用密码,所以我们要用ssh的方法生成一个秘钥,让10.254.254.29 完全接受 10.254.254.23,不用输入密码;

方法是:

在29的机器上:

ssh-keygen –d 或者 ssh-keygen –t rsa

上传到23的root的ssh下面:

ssh-copy-id -i ~/.ssh/id_dsa.pub root@10.254.254.23

这样就实现了,在29上执行rsync命令不用输入密码的方法:

然后用下面的命令测试是否需要密码:

rsync -avzH root@10.254.254.23:/home/DB_BACKUP/ /home/zabbix_backup

 

然后就是通过计划任务,让这个命令每半个小时同步一次:

vi /etc/crontab

0 */2 * * * root rsync -avzH root@10.254.254.23:/home/DB_BACKUP/ /home/zabbix_backup

 

如有什么问题请指正呀!



本文转自 zhangfang526 51CTO博客,原文链接:http://blog.51cto.com/zhangfang526/1708342

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【Linux网络服务】Rsync+inotify+nfs实现数据实时备份
【Linux网络服务】Rsync+inotify+nfs实现数据实时备份
18 0
01-rsync备份方式
Rsync备份方式 1.rsync概述 rsync是一款开源的备份工具,可以在不同主机之间进行同步,可实现全量备份与增量备份,因此非常适合用于架构集群中本地备份或异地备份等应用 Samba服务:文件共享,基于cifs协议 rsync官方地址:https://rsync.samba.org/ rsync监听端口:873 rsync运行模式:C/S rsync两种备份方式 完整备份 ​ 将file{1…3}全部备份至服务端
137 0
02-rsync备份方式
1.Rsync应用场景 数据同步的方式 ​ 推:push,上传(upload) ​ 将客户端的数据上传到rsync服务端
89 0
+关注
科技小能手
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载