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): 前一天备份移除成功"
posted @ 2024-03-19 21:34  。思索  阅读(85)  评论(0编辑  收藏  举报