Commit 80b23dd2 by yiling.shen

Fix Docker container backup logic in deployment script

parent b8df6aab
Pipeline #3188 failed with stages
in 11 seconds
...@@ -90,29 +90,33 @@ else ...@@ -90,29 +90,33 @@ else
# 使用Docker容器备份 # 使用Docker容器备份
if docker ps | grep -q mysql; then if docker ps | grep -q mysql; then
log_info "使用Docker容器备份数据库..." log_info "使用Docker容器备份数据库..."
docker exec $(docker ps -q --filter "ancestor=mysql") \ # 查找MySQL容器
mysqldump -u"$DB_USER" -p"$DB_PASSWORD" \ MYSQL_CONTAINER=$(docker ps -q --filter "ancestor=mysql" --filter "ancestor=mariadb" | head -1)
--single-transaction \ if [ -n "$MYSQL_CONTAINER" ]; then
--routines \ log_info "找到MySQL容器: $MYSQL_CONTAINER"
--triggers \ docker exec "$MYSQL_CONTAINER" \
--events \ mysqldump -u"$DB_USER" -p"$DB_PASSWORD" \
--add-drop-database \ --single-transaction \
--create-options \ --routines \
"$DB_NAME" > "$BACKUP_DIR/$BACKUP_FILE" --triggers \
--events \
if [ $? -eq 0 ]; then --add-drop-database \
BACKUP_SIZE=$(du -h "$BACKUP_DIR/$BACKUP_FILE" | cut -f1) --create-options \
log_success "Docker容器备份成功!" "$DB_NAME" > "$BACKUP_DIR/$BACKUP_FILE"
log_info "📊 备份文件: $BACKUP_FILE"
log_info "📏 备份大小: $BACKUP_SIZE" if [ $? -eq 0 ]; then
BACKUP_SIZE=$(du -h "$BACKUP_DIR/$BACKUP_FILE" | cut -f1)
log_success "Docker容器备份成功!"
log_info "📊 备份文件: $BACKUP_FILE"
log_info "📏 备份大小: $BACKUP_SIZE"
else
log_error "Docker容器备份失败!"
exit 1
fi
else else
log_error "Docker容器备份失败!" log_error "未找到MySQL容器,无法备份数据库!"
exit 1 exit 1
fi fi
else
log_error "未找到MySQL容器,无法备份数据库!"
exit 1
fi
fi fi
# 第三步:验证备份文件 # 第三步:验证备份文件
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment