13 Star 118 Fork 119

koogua/course-tencent-cloud-docker

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
db-backup.sh.sample 1.04 KB
一键复制 编辑 原始数据 按行查看 历史
koogua 提交于 16天前 . 从.env文件中读取参数
#!/usr/bin/env bash
#备份保留天数
KEEP_DAYS=15
#COSCMD命令路径(绝对路径)
COS_CMD=/usr/local/bin/coscmd
#COS配置文件路径(绝对路径)
COS_CONF_PATH=/root/.cos.conf
#本地目录(绝对路径,末尾不带"/")
LOCAL_DIR=/root/ctc-docker/mysql/data/backup
#远程目录(绝对路径,末尾不带"/")
REMOTE_DIR=/backup/database
#导出环境变量
if [ -f .env ]; then
export $(grep -v '^#' .env | xargs)
else
echo "error: .env file not found"
exit 1
fi
docker exec -i ctc-mysql bash <<'EOF'
#备份目录(末尾不带"/")
backup_dir=/var/lib/mysql/backup
#创建备份目录
if [ ! -d ${backup_dir} ]; then
mkdir -p ${backup_dir}
fi
#导出数据
mysqldump --no-tablespaces -u ${MYSQL_USER} -p${MYSQL_PASSWORD} ${MYSQL_DATABASE} | gzip > ${backup_dir}/${MYSQL_DATABASE}-$(date +%Y-%m-%d).sql.gz
exit
EOF
#删除过期备份
find ${LOCAL_DIR} -mtime +${KEEP_DAYS} -name "*.sql.gz" | xargs rm -f
#同步备份
echo y | ${COS_CMD} -c ${COS_CONF_PATH} upload -rs --delete ${LOCAL_DIR}/ ${REMOTE_DIR}/
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Docker
1
https://gitee.com/koogua/course-tencent-cloud-docker.git
git@gitee.com:koogua/course-tencent-cloud-docker.git
koogua
course-tencent-cloud-docker
course-tencent-cloud-docker
master

搜索帮助