#!/bin/bash cd /root/youyidian-3d echo "=========================================" echo "开始更新部署" echo "=========================================" # 备份上传文件 if [ -d "uploads" ]; then mkdir -p backups echo "备份上传文件..." cp -r uploads backups/uploads-$(date +%Y%m%d-%H%M%S) 2>/dev/null || true fi # 解压新版本 echo "解压新版本..." tar -xzf /root/project-deploy.tar.gz rm /root/project-deploy.tar.gz # 恢复上传目录 if [ -d "backups" ]; then latest=$(ls -td backups/uploads-* 2>/dev/null | head -1) if [ -n "$latest" ]; then echo "恢复上传文件..." mkdir -p uploads cp -r "$latest"/* uploads/ 2>/dev/null || true fi fi # 设置权限 mkdir -p uploads chmod -R 777 uploads # 停止旧容器 echo "停止旧容器..." docker compose down # 启动新容器 echo "启动新容器..." docker compose up -d # 等待启动 echo "等待容器启动..." sleep 15 # 查看状态 echo "" echo "=========================================" echo "部署完成!容器状态:" echo "=========================================" docker ps | grep youyidian echo "" echo "应用日志(最后20行):" docker logs --tail=20 flnxi-material echo "" echo "=========================================" echo "完成!" echo "========================================="