内容简介:在阿里云ECS上搭建了一个小网站,用的mysql,数据库也是在ECS上安装的,这就涉及到一个数据库备份的问题,当然是定时自动备份才好。阿里云OSS提供了一种安全可靠的存储,是理想的备份存储。于是搞起来。思路:我这里是64位的linux,其它版本见说明:
在阿里云ECS上搭建了一个小网站,用的mysql,数据库也是在ECS上安装的,这就涉及到一个数据库备份的问题,当然是定时自动备份才好。阿里云OSS提供了一种安全可靠的存储,是理想的备份存储。于是搞起来。
思路:
安装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
然后运行 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。
注意文件的格式需要为UNIX格式,可以使用Notepad++,在“编辑”->“文档格式转换”中确认。
加入计划任务
编辑/etc/crontab,加入下边这句:
05 1 * * * root /usr/local/mysql/backup/dobak.sh
这句的意思是每天1点05分执行备份脚本,时间可以自己改,具体了解下定时器的配置。
然后重新加载cron配置:
service crond reload
然后就坐等备份顺利执行吧。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Python实现定时备份mysql数据库并把备份数据库邮件发送
- Python实现定时备份mysql数据库并把备份数据库邮件发送
- Zabbix 数据库备份
- MySQL数据库的备份案例
- MSSQL实践-数据库备份加密
- Linux下定时备份数据库
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。