定时备份Docker中的MySQL到阿里云的OSS
2020-07-14 本文已影响0人
aq_wzj
1. 安装OSS工具
OSS的详细教程 https://www.alibabacloud.com/help/zh/doc-detail/120075.htm
linux64 root用户为例
-
下载
cd /usr/local/bin wget http://gosspublic.alicdn.com/ossutil/1.6.17/ossutil64
-
配置
cp ossutil64 ossutil chmod 755 ossutil64 chmod 755 ossutil
-
生成配置文件
ossutil config 第一步输入配置文件, 直接按回车即为默 认/root/.ossutilconfig 第二步输入语言: CH 第三步输入endpoint:http://oss-cn-shenzhen.aliyuncs.com 第四步输入accessKeyID 第五步输入accessKeySecret 第六步输入stsToken:不用输, 回车即可
2. 创建备份脚本
vi /root/auto-backup.sh
#!/bin/bash
#日期
dd=`date +%Y-%m-%d-%H-%M-%S`
# /data/mysqlbackup/db-backup-$dd.sql为备份到本地位置及命名
# 文件夹需要提前创建好
docker exec mysql mysqldump -uroot -p****** --all-databases> /data/mysqlbackup/db-backup-$dd.sql
# --config-file为oss配置文件位置
# /data/mysqlbackup/db-backup-$dd.sql为备份到本地位置及命名
# oss://bucket名称/mysql/db-backup-$dd.sql为存到oss的位置
/usr/local/bin/ossutil --config-file=/root/.ossutilconfig cp /data/mysqlbackup/db-backup-$dd.sql oss://bucket名称/mysql/db-backup-$dd.sql
# 删除本地文件
rm -f /data/mysqlbackup/db-backup-$dd.sql
echo "db-backup-$dd.sql backup success"
2.1. 更改脚本权限
chmod 755 /root/auto-backup.sh
3. 创建定时任务
crontab -e
# 每天备份一次, 输出重定向到/var/log/crontab/mysql.log
# /var/log/crontab/文件夹需要提前创建
0 0 * * * /root/auto-backup.sh > /var/log/crontab/mysql.log 2>&1 &
.