#!/bin/bash # ============================================================ # 生产环境部署验证脚本 # ============================================================ REMOTE_HOST="118.145.177.79" REMOTE_USER="root" DOMAIN="zsglpt.workyai.cn" echo "============================================================" echo "部署验证脚本" echo "============================================================" # 1. 检查容器状态 echo "" echo "[1/6] 检查容器状态..." ssh $REMOTE_USER@$REMOTE_HOST "docker ps | grep knowledge-automation" && echo "✓ 容器正在运行" || echo "✗ 容器未运行" # 2. 检查健康状态 echo "" echo "[2/6] 检查健康状态..." ssh $REMOTE_USER@$REMOTE_HOST "docker ps --filter 'name=knowledge-automation' --format '{{.Status}}'" | grep -q healthy && echo "✓ 容器健康状态正常" || echo "⚠ 容器健康状态异常" # 3. 检查日志是否有错误 echo "" echo "[3/6] 检查错误日志..." ERROR_COUNT=$(ssh $REMOTE_USER@$REMOTE_HOST "docker logs --tail 100 knowledge-automation-multiuser 2>&1 | grep -iE 'error|exception|failed' | grep -v 'probe error' | wc -l") if [ "$ERROR_COUNT" -eq 0 ]; then echo "✓ 无错误日志" else echo "⚠ 发现 $ERROR_COUNT 条错误日志" ssh $REMOTE_USER@$REMOTE_HOST "docker logs --tail 50 knowledge-automation-multiuser 2>&1 | grep -iE 'error|exception|failed'" fi # 4. 检查数据库 echo "" echo "[4/6] 检查数据库..." ssh $REMOTE_USER@$REMOTE_HOST "ls -lh /root/zsglpt/data/app_data.db" && echo "✓ 数据库文件存在" || echo "✗ 数据库文件不存在" # 5. 测试HTTP访问 echo "" echo "[5/6] 测试HTTP访问..." HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" https://$DOMAIN --max-time 10) if [ "$HTTP_CODE" = "200" ] || [ "$HTTP_CODE" = "302" ]; then echo "✓ HTTP访问正常 (状态码: $HTTP_CODE)" else echo "✗ HTTP访问异常 (状态码: $HTTP_CODE)" fi # 6. 测试静态文件 echo "" echo "[6/6] 测试静态文件..." STATIC_CODE=$(curl -s -o /dev/null -w "%{http_code}" https://$DOMAIN/static/js/socket.io.min.js?v=20251120 --max-time 10) if [ "$STATIC_CODE" = "200" ]; then echo "✓ 静态文件访问正常" else echo "✗ 静态文件访问异常 (状态码: $STATIC_CODE)" fi # 总结 echo "" echo "============================================================" echo "验证完成!" echo "============================================================" echo "前台地址: https://$DOMAIN" echo "后台地址: https://$DOMAIN/yuyx" echo "" echo "详细日志查看:" echo " ssh $REMOTE_USER@$REMOTE_HOST 'docker logs -f knowledge-automation-multiuser'" echo "============================================================"