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

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

大致说下环境吧:

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

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
11月前
|
Linux 网络安全
【Linux网络服务】Rsync+inotify+nfs实现数据实时备份
【Linux网络服务】Rsync+inotify+nfs实现数据实时备份
01-rsync备份方式
Rsync备份方式 1.rsync概述 rsync是一款开源的备份工具,可以在不同主机之间进行同步,可实现全量备份与增量备份,因此非常适合用于架构集群中本地备份或异地备份等应用 Samba服务:文件共享,基于cifs协议 rsync官方地址:https://rsync.samba.org/ rsync监听端口:873 rsync运行模式:C/S rsync两种备份方式 完整备份 ​ 将file{1…3}全部备份至服务端
214 0
01-rsync备份方式
02-rsync备份方式
1.Rsync应用场景 数据同步的方式 ​ 推:push,上传(upload) ​ 将客户端的数据上传到rsync服务端
134 0
02-rsync备份方式
|
存储 安全 网络协议
|
数据安全/隐私保护 算法 Shell
|
网络安全 Shell 应用服务中间件