登录
首页 >  数据库 >  MySQL

定时备份 MySQL 并上传到七牛

来源:SegmentFault

时间:2023-02-16 17:56:23 385浏览 收藏

本篇文章向大家介绍《定时备份 MySQL 并上传到七牛》,主要包括MySQL、七牛云存储、crontab、qshell,具有一定的参考价值,需要的朋友可以参考一下。

多数应用场景下,我们需要对重要数据进行备份、并放置到一个安全的地方,以备不时之需。

常见的 MySQL 数据备份方式有,直接打包复制对应的数据库或表文件(物理备份)、

#!/bin/sh
# mysql data backup script
#
# use mysqldump --help,get more detail.

dbname=your_dbname
user=your_db_username
password=your_db_password
bakDir=/opt/backup/sql
logFile=/opt/backup/mysqlbak.log
datetime=`date +%Y%m%d%H%M%S`
keepDay=7

echo "-------------------------------------------" >> $logFile
echo $(date +"%y-%m-%d %H:%M:%S") >> $logFile
echo "--------------------------" >> $logFile
cd $bakDir
bakFile=$dbname.$datetime.sql.gz
mysqldump -u$user -p$password $dbname | gzip > $bakFile
echo "数据库 [$dbname] 备份完成" >> $logFile
echo "$bakDir/$bakFile" >> $logFile
echo "开始上传备份文件至七牛云存储" >> $logFile
/usr/local/bin/qshell rput  database/$bakFile $bakFile true | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g" >> $logFile 2>&1
echo "删除${keepDay}天前的备份文件" >> $logFile
find $bakDir -ctime +$keepDay >> $logFile
find $bakDir -ctime +$keepDay -exec rm -rf {} \;
echo " " >> $logFile
echo " " >> $logFile

脚本中的数据库配置、日志文件、存放路径、

# 每天凌晨2点执行备份脚本
0 2 * * * /opt/backup/baksql.sh

如果定时任务未执行,可查看日志

/var/log/cron
排查问题,或者查看
crond
是否处于运行状态。
原文地址: https://shockerli.net/post/my...
更多文章请访问我的个人博客: https://shockerli.net

今天带大家了解了MySQL、七牛云存储、crontab、qshell的相关知识,希望对你有所帮助;关于数据库的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>