波斯码BOSSMA Information Technology

使用ossutil定时备份自建mysql数据库到阿里云OSS

发布时间:2018年10月31日 / 分类:DataBase / 4,722 次浏览 / 评论

在阿里云ECS上搭建了一个小网站,用的mysql,数据库也是在ECS上安装的,这就涉及到一个数据库备份的问题,当然是定时自动备份才好。阿里云OSS提供了一种安全可靠的存储,是理想的备份存储。于是搞起来。

思路:

  • 备份使用mysql自带的mysqldump
  • 搞个shell脚本定时执行
  • 使用阿里云提供的ossutil来上传文件

安装ossutil

我这里是64位的linux,其它版本见说明:https://help.aliyun.com/document_detail/50452.html

wget http://gosspublic.alicdn.com/ossutil/1.4.1/ossutil64

然后复制到/usr/local/bin,并设置相关权限。

cp /root/ossutil64 /usr/local/bin
chmod -R 755 /usr/local/bin/ossutil64

然后运行ossutil64看看是不是安装成功了。

开通OSS

这个是有管理界面的,看阿里云的文档吧。

https://help.aliyun.com/document_detail/31884.html

创建一个bucket,名字自己随便起。

https://help.aliyun.com/document_detail/31885.html

阿里云账号权限很大,直接使用不安全,最好给OSS操作单独创建个子账号:

https://help.aliyun.com/document_detail/31867.html

编写脚本

#!/bin/sh
base_mysql_path=mysql根目录
mysql_dump_path=mysql备份文件的临时目录
#mysql-config
mysql_user="数据库用户名"
mysql_pass="数据库密码"
#oss-config
oss_endpoint="阿里云OSS Endpoint"
oss_bucket="阿里云OSS Bucket名字"
oss_accesskeyid="阿里云OSS AccessKeyId"
oss_accesskeysecret="阿里云OSS AccessKeySecret"
backup_name=`date +%Y%m%d%H%M%S`
cd ${mysql_dump_path}
#mysqldump
${base_mysql_path}bin/mysqldump -u${mysql_user} -p${mysql_pass} --all-databases > ${backup_name}.sql
#pack
tar zcf ${backup_name}.tar.gz ${backup_name}.sql
rm -f ${backup_name}.sql
#backup to oss
ossutil64 cp ${backup_name}.tar.gz oss://${oss_bucket}/mysql/backup/${backup_name}.tar.gz -f -e ${oss_endpoint} -i ${oss_accesskeyid} -k ${oss_accesskeysecret}
rm -f ${backup_name}.tar.gz
echo "备份完成"

请将上边文件中汉字的部分替换称自己的,然后将这个文件保存为dobak.sh,上传到/usr/local/mysql/backup。

注意:

1、文件的格式需要为UNIX格式,可以使用Notepad++,在“编辑”->“文档格式转换”中确认。

2、dobak.sh需要有执行权限:chmod -R 755  /usr/local/mysql/backup/dobak.sh

加入计划任务

编辑/etc/crontab,加入下边这句:

05 1 * * * root /usr/local/mysql/backup/dobak.sh

这句的意思是每天1点05分执行备份脚本,时间可以自己改,具体了解下定时器的配置。

同时在crontab头部的Path中加上/usr/local/bin:

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin

然后重新加载cron配置:

service crond reload

然后就坐等备份顺利执行吧。

本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自波斯码,原文地址《使用ossutil定时备份自建mysql数据库到阿里云OSS

关键字:

建议订阅本站,及时阅读最新文章!
【上一篇】 【下一篇】