🗑️ 移除不需要的文件
- 删除 docker-compose.yml - 删除 restore-data.sh 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -1,53 +0,0 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
backend:
|
||||
build:
|
||||
context: ./backend
|
||||
dockerfile: Dockerfile
|
||||
image: wanwanyun-backend
|
||||
container_name: wanwanyun-backend
|
||||
restart: always
|
||||
ports:
|
||||
- "40001:40001"
|
||||
volumes:
|
||||
- ./backend:/app
|
||||
- /app/node_modules
|
||||
- ./upload-tool:/upload-tool
|
||||
- ./storage:/app/storage # 本地存储卷
|
||||
environment:
|
||||
- NODE_ENV=production
|
||||
- STORAGE_ROOT=/app/storage # 存储根目录(不硬编码)
|
||||
networks:
|
||||
- wanwanyun-network
|
||||
|
||||
frontend:
|
||||
image: nginx:alpine
|
||||
container_name: wanwanyun-frontend
|
||||
restart: always
|
||||
ports:
|
||||
- "8080:80"
|
||||
- "8443:443"
|
||||
volumes:
|
||||
- ./frontend:/usr/share/nginx/html
|
||||
- ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf
|
||||
- ./certbot/conf:/etc/letsencrypt
|
||||
- ./certbot/www:/var/www/certbot
|
||||
depends_on:
|
||||
- backend
|
||||
networks:
|
||||
- wanwanyun-network
|
||||
command: "/bin/sh -c 'while :; do sleep 6h & wait $${!}; nginx -s reload; done & nginx -g \"daemon off;\"'"
|
||||
|
||||
certbot:
|
||||
image: certbot/certbot
|
||||
container_name: wanwanyun-certbot
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ./certbot/conf:/etc/letsencrypt
|
||||
- ./certbot/www:/var/www/certbot
|
||||
entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 12h & wait $${!}; done;'"
|
||||
|
||||
networks:
|
||||
wanwanyun-network:
|
||||
driver: bridge
|
||||
175
restore-data.sh
175
restore-data.sh
@@ -1,175 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
################################################################################
|
||||
# 玩玩云 - 数据恢复脚本
|
||||
# 用于恢复更新时丢失的数据
|
||||
################################################################################
|
||||
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
BLUE='\033[0;34m'
|
||||
NC='\033[0m'
|
||||
|
||||
PROJECT_NAME="wanwanyun"
|
||||
PROJECT_DIR="/var/www/${PROJECT_NAME}"
|
||||
|
||||
echo -e "${RED}╔═══════════════════════════════════════════════════════════════╗${NC}"
|
||||
echo -e "${RED}║ 玩玩云 - 数据恢复脚本 ║${NC}"
|
||||
echo -e "${RED}╚═══════════════════════════════════════════════════════════════╝${NC}"
|
||||
echo ""
|
||||
|
||||
# 检查root权限
|
||||
if [[ $EUID -ne 0 ]]; then
|
||||
echo -e "${RED}✗ 此脚本需要root权限运行${NC}"
|
||||
echo -e "${YELLOW}请使用: sudo bash restore-data.sh${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo -e "${BLUE}步骤1: 查找备份目录...${NC}"
|
||||
echo ""
|
||||
|
||||
# 查找所有可能的备份目录
|
||||
BACKUP_DIRS=$(find /tmp -maxdepth 1 -type d -name "${PROJECT_NAME}-update-backup-*" 2>/dev/null | sort -r)
|
||||
|
||||
if [[ -z "$BACKUP_DIRS" ]]; then
|
||||
echo -e "${YELLOW}⚠ 未找到自动备份目录${NC}"
|
||||
echo ""
|
||||
echo -e "${BLUE}步骤2: 查找其他可能的备份...${NC}"
|
||||
|
||||
# 检查 /root 目录下的备份
|
||||
ROOT_BACKUPS=$(find /root -maxdepth 1 -type d -name "${PROJECT_NAME}-backup-*" 2>/dev/null | sort -r)
|
||||
|
||||
if [[ -z "$ROOT_BACKUPS" ]]; then
|
||||
echo -e "${RED}✗ 未找到任何备份${NC}"
|
||||
echo ""
|
||||
echo -e "${YELLOW}如果您没有其他备份,需要重新初始化数据库${NC}"
|
||||
echo ""
|
||||
|
||||
read -p "是否重新创建管理员账号?(y/n): " create_new < /dev/tty
|
||||
|
||||
if [[ "$create_new" == "y" || "$create_new" == "Y" ]]; then
|
||||
# 停止服务
|
||||
pm2 stop ${PROJECT_NAME}-backend
|
||||
|
||||
# 删除旧数据库
|
||||
rm -f "${PROJECT_DIR}/backend/data/ftp-manager.db"
|
||||
|
||||
# 重启服务(会自动创建新数据库)
|
||||
pm2 restart ${PROJECT_NAME}-backend
|
||||
|
||||
echo ""
|
||||
echo -e "${GREEN}✓ 已重新初始化数据库${NC}"
|
||||
echo -e "${YELLOW}默认管理员账号: admin${NC}"
|
||||
echo -e "${YELLOW}默认密码: admin123${NC}"
|
||||
echo -e "${RED}⚠️ 请立即登录并修改密码!${NC}"
|
||||
fi
|
||||
exit 0
|
||||
else
|
||||
echo -e "${GREEN}✓ 找到卸载时的备份:${NC}"
|
||||
echo "$ROOT_BACKUPS"
|
||||
BACKUP_DIRS="$ROOT_BACKUPS"
|
||||
fi
|
||||
else
|
||||
echo -e "${GREEN}✓ 找到以下备份目录:${NC}"
|
||||
echo "$BACKUP_DIRS"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
|
||||
# 选择最新的备份
|
||||
LATEST_BACKUP=$(echo "$BACKUP_DIRS" | head -1)
|
||||
echo -e "${BLUE}使用最新备份: $LATEST_BACKUP${NC}"
|
||||
echo ""
|
||||
|
||||
# 显示备份内容
|
||||
echo -e "${BLUE}步骤3: 检查备份内容...${NC}"
|
||||
echo ""
|
||||
|
||||
if [[ -d "$LATEST_BACKUP/data" ]]; then
|
||||
DATA_SIZE=$(du -sh "$LATEST_BACKUP/data" 2>/dev/null | cut -f1)
|
||||
echo -e "${GREEN}✓ 数据库目录: $DATA_SIZE${NC}"
|
||||
HAS_DATA=true
|
||||
else
|
||||
echo -e "${YELLOW}⚠ 未找到数据库备份${NC}"
|
||||
HAS_DATA=false
|
||||
fi
|
||||
|
||||
if [[ -d "$LATEST_BACKUP/storage" ]]; then
|
||||
STORAGE_SIZE=$(du -sh "$LATEST_BACKUP/storage" 2>/dev/null | cut -f1)
|
||||
echo -e "${GREEN}✓ 用户文件目录: $STORAGE_SIZE${NC}"
|
||||
HAS_STORAGE=true
|
||||
else
|
||||
echo -e "${YELLOW}⚠ 未找到用户文件备份${NC}"
|
||||
HAS_STORAGE=false
|
||||
fi
|
||||
|
||||
if [[ -f "$LATEST_BACKUP/.env" ]]; then
|
||||
echo -e "${GREEN}✓ 配置文件${NC}"
|
||||
HAS_ENV=true
|
||||
else
|
||||
echo -e "${YELLOW}⚠ 未找到配置文件备份${NC}"
|
||||
HAS_ENV=false
|
||||
fi
|
||||
|
||||
echo ""
|
||||
|
||||
if [[ "$HAS_DATA" == false ]] && [[ "$HAS_STORAGE" == false ]] && [[ "$HAS_ENV" == false ]]; then
|
||||
echo -e "${RED}✗ 备份目录为空,无法恢复${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 确认恢复
|
||||
echo -e "${YELLOW}是否恢复以上备份?${NC}"
|
||||
read -p "确认恢复 (y/n): " confirm < /dev/tty
|
||||
|
||||
if [[ "$confirm" != "y" && "$confirm" != "Y" ]]; then
|
||||
echo -e "${BLUE}已取消恢复${NC}"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo -e "${BLUE}步骤4: 停止服务...${NC}"
|
||||
pm2 stop ${PROJECT_NAME}-backend
|
||||
echo -e "${GREEN}✓ 服务已停止${NC}"
|
||||
echo ""
|
||||
|
||||
echo -e "${BLUE}步骤5: 恢复数据...${NC}"
|
||||
|
||||
# 恢复数据库
|
||||
if [[ "$HAS_DATA" == true ]]; then
|
||||
rm -rf "${PROJECT_DIR}/backend/data"
|
||||
cp -r "$LATEST_BACKUP/data" "${PROJECT_DIR}/backend/"
|
||||
echo -e "${GREEN}✓ 数据库已恢复${NC}"
|
||||
fi
|
||||
|
||||
# 恢复用户文件
|
||||
if [[ "$HAS_STORAGE" == true ]]; then
|
||||
rm -rf "${PROJECT_DIR}/backend/storage"
|
||||
cp -r "$LATEST_BACKUP/storage" "${PROJECT_DIR}/backend/"
|
||||
echo -e "${GREEN}✓ 用户文件已恢复${NC}"
|
||||
fi
|
||||
|
||||
# 恢复配置文件
|
||||
if [[ "$HAS_ENV" == true ]]; then
|
||||
cp "$LATEST_BACKUP/.env" "${PROJECT_DIR}/backend/"
|
||||
echo -e "${GREEN}✓ 配置文件已恢复${NC}"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo -e "${BLUE}步骤6: 重启服务...${NC}"
|
||||
pm2 restart ${PROJECT_NAME}-backend
|
||||
sleep 2
|
||||
pm2 save
|
||||
|
||||
echo ""
|
||||
echo -e "${GREEN}╔═══════════════════════════════════════════════════════════════╗${NC}"
|
||||
echo -e "${GREEN}║ ✓ 数据恢复完成! ║${NC}"
|
||||
echo -e "${GREEN}╚═══════════════════════════════════════════════════════════════╝${NC}"
|
||||
echo ""
|
||||
|
||||
echo -e "${YELLOW}请登录系统验证数据是否完整${NC}"
|
||||
echo ""
|
||||
|
||||
# 显示服务状态
|
||||
pm2 status
|
||||
Reference in New Issue
Block a user