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
# 容器名叫mongo-yapi
# 時間, 做文件名用
dd=`date +%Y-%m-%d-%H-%M-%S`
# 備份到容器的 /dump/$dd文件夾
docker exec mongo-yapi mongodump -o /dump/$dd
# 壓縮/dump/$dd為/dump/$dd.tar
docker exec mongo-yapi tar -cvf /dump/$dd.tar /dump/$dd
# 復制壓縮包到宿主機的/dump/$dd.tar
docker cp mongo-yapi:/dump/$dd.tar /dump/$dd.tar
# 刪除docker中的備份數據
docker exec mongo-yapi rm -rf /dump/
# 上傳至oss
/usr/local/bin/ossutil --config-file=/root/.ossutilconfig cp /dump/$dd.tar oss://bucket名稱/yapi/$dd.tar
刪除本地的備份數據
rm -rf /dump/*
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 &
.