MySQL——数据库备份上传到阿里云OSS存储
前言
基于阿里云的OSS存储对数据库进行备份,阿里云ossutil
安装文档还是比较详细的,直街参考阿里云文档操作就好了
ossutil:https://help.aliyun.com/zh/oss/developer-reference/overview-59
内容
根据
ossutil
安装配置好命令行工具,然后直接写相应的脚本就好了,如果存在大表建议单独导出;
#!/bin/bash
echo "-----------------------------------------------------------"
echo "$(date): 开始备份数据库"
date_str=$(date +%Y%m%d)
date_yesterday=$(date -d "1 day ago" +%Y%m%d)
## 全量备份目录
backupdir=/app/mysqlbackups/
user=xxx
passwd=xxx
mkdir -p $backupdir
cd $backupdir
# 全量备份
mysqldump -h localhost -u$user --password=$passwd --single-transaction --flush-privileges --flush-logs --routines --events --extended-insert --all-databases | gzip>$backupdir/database_$date_str.sql.gz
echo "$(date): 备份数据库结束"
echo "$(date): 备份数据开始上传"
# OSS设置相应生命周期策略保留7天
ossutil64 cp $backupdir/database_$date_str.sql.gz oss://<oss-bucket-name>/
echo "$(date): 备份数据上传结束"
echo "$(date): 开始移除前一天备份"
rm -rvf $backupdir/database_$date_yesterday.sql.gz
echo "$(date): 前一天备份移除成功"
学无止境,谦卑而行.