新增工具脚本: - scripts/sync-upstream.sh: 主同步脚本,自动从上游拉取并应用配置 - scripts/apply-branding.sh: 自动应用StarFireAPI品牌化修改 - scripts/apply-deploy-config.sh: 自动应用部署配置 - scripts/README.md: 工具使用说明 功能特性: ✅ 自动备份当前分支 ✅ 从上游仓库拉取最新代码 ✅ 自动应用品牌化修改(Sub2API → StarFireAPI) ✅ 自动应用部署配置(端口、Redis、镜像等) ✅ 智能提示和确认 ✅ 支持回滚操作 使用方法: chmod +x scripts/*.sh ./scripts/sync-upstream.sh 修改 .gitignore 以允许追踪自定义同步工具 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
111 lines
3.2 KiB
Bash
111 lines
3.2 KiB
Bash
#!/bin/bash
|
||
# StarFireAPI 服务状态检查脚本
|
||
# 用途:快速检查服务运行状态和健康度
|
||
# 使用:bash check_status.sh
|
||
|
||
# 颜色定义
|
||
RED='\033[0;31m'
|
||
GREEN='\033[0;32m'
|
||
YELLOW='\033[1;33m'
|
||
BLUE='\033[0;34m'
|
||
NC='\033[0m' # No Color
|
||
|
||
# 项目目录
|
||
PROJECT_DIR="/opt/xinghuoapi/deploy"
|
||
|
||
echo -e "${BLUE}=========================================="
|
||
echo "📊 StarFireAPI 服务状态检查"
|
||
echo -e "==========================================${NC}"
|
||
echo ""
|
||
|
||
# 检查目录
|
||
if [ ! -d "$PROJECT_DIR" ]; then
|
||
echo -e "${RED}❌ 错误: 项目目录 $PROJECT_DIR 不存在${NC}"
|
||
exit 1
|
||
fi
|
||
|
||
cd "$PROJECT_DIR"
|
||
|
||
# 1. 容器状态
|
||
echo -e "${YELLOW}🐳 容器状态:${NC}"
|
||
docker-compose ps
|
||
echo ""
|
||
|
||
# 2. 服务健康检查
|
||
echo -e "${YELLOW}🏥 服务健康检查:${NC}"
|
||
|
||
# 检查 sub2api 容器
|
||
if docker-compose ps | grep -q "sub2api.*Up"; then
|
||
echo -e "${GREEN}✓ sub2api 容器运行中${NC}"
|
||
|
||
# 检查端口
|
||
if netstat -tlnp 2>/dev/null | grep -q ":6580"; then
|
||
echo -e "${GREEN}✓ 端口 6580 已监听${NC}"
|
||
else
|
||
echo -e "${RED}✗ 端口 6580 未监听${NC}"
|
||
fi
|
||
|
||
# 检查 HTTP 响应
|
||
if curl -s -o /dev/null -w "%{http_code}" http://localhost:6580 | grep -q "200\|301\|302"; then
|
||
echo -e "${GREEN}✓ HTTP 服务正常响应${NC}"
|
||
else
|
||
echo -e "${RED}✗ HTTP 服务无响应${NC}"
|
||
fi
|
||
else
|
||
echo -e "${RED}✗ sub2api 容器未运行${NC}"
|
||
fi
|
||
|
||
# 检查 postgres 容器
|
||
if docker-compose ps | grep -q "postgres.*Up"; then
|
||
echo -e "${GREEN}✓ PostgreSQL 容器运行中${NC}"
|
||
else
|
||
echo -e "${RED}✗ PostgreSQL 容器未运行${NC}"
|
||
fi
|
||
|
||
echo ""
|
||
|
||
# 3. 资源使用情况
|
||
echo -e "${YELLOW}💾 资源使用情况:${NC}"
|
||
docker stats --no-stream sub2api sub2api-postgres 2>/dev/null || echo "无法获取资源使用情况"
|
||
echo ""
|
||
|
||
# 4. 最近日志(最后 20 行)
|
||
echo -e "${YELLOW}📝 最近日志 (最后 20 行):${NC}"
|
||
docker-compose logs --tail 20 sub2api
|
||
echo ""
|
||
|
||
# 5. 错误日志检查
|
||
echo -e "${YELLOW}⚠️ 错误日志检查:${NC}"
|
||
ERROR_COUNT=$(docker-compose logs --tail 100 sub2api 2>/dev/null | grep -i "error\|fatal\|panic" | wc -l)
|
||
if [ "$ERROR_COUNT" -gt 0 ]; then
|
||
echo -e "${RED}发现 $ERROR_COUNT 条错误日志${NC}"
|
||
echo "最近的错误:"
|
||
docker-compose logs --tail 100 sub2api | grep -i "error\|fatal\|panic" | tail -5
|
||
else
|
||
echo -e "${GREEN}✓ 未发现错误日志${NC}"
|
||
fi
|
||
echo ""
|
||
|
||
# 6. 版本信息
|
||
echo -e "${YELLOW}📌 版本信息:${NC}"
|
||
VERSION=$(cat ../backend/cmd/server/VERSION 2>/dev/null || echo "未知")
|
||
echo "当前版本: $VERSION"
|
||
echo "最新提交: $(cd .. && git log --oneline -1)"
|
||
echo ""
|
||
|
||
# 7. 使用的镜像
|
||
echo -e "${YELLOW}🖼️ 使用的镜像:${NC}"
|
||
docker-compose ps -q sub2api | xargs docker inspect --format='{{.Config.Image}}' 2>/dev/null || echo "无法获取镜像信息"
|
||
echo ""
|
||
|
||
# 8. 快速操作提示
|
||
echo -e "${BLUE}=========================================="
|
||
echo "🔧 快速操作命令"
|
||
echo -e "==========================================${NC}"
|
||
echo "查看实时日志: docker-compose logs -f sub2api"
|
||
echo "重启服务: docker-compose restart sub2api"
|
||
echo "停止服务: docker-compose down"
|
||
echo "启动服务: docker-compose up -d"
|
||
echo "进入容器: docker exec -it sub2api sh"
|
||
echo ""
|