| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- #!/bin/bash
- # ========================================
- # DHCP & DNS 管理器 - 诊断脚本
- # ========================================
- echo "🔍 DHCP & DNS 管理器 - 诊断工具"
- echo "=================================="
- echo ""
- # 1. 查看服务状态
- echo "📊 服务状态:"
- systemctl status dhcp-dns-manager --no-pager
- echo ""
- # 2. 查看详细日志
- echo "📋 最近日志(最后 50 行):"
- journalctl -u dhcp-dns-manager -n 50 --no-pager
- echo ""
- # 3. 检查配置文件
- echo "⚙️ 配置文件检查:"
- CONFIG_FILE="/opt/dhcp-dns-manager/configs/config.json"
- if [ -f "$CONFIG_FILE" ]; then
- echo "✓ 配置文件存在: $CONFIG_FILE"
- echo "内容:"
- cat "$CONFIG_FILE"
- else
- echo "❌ 配置文件不存在!"
- fi
- echo ""
- # 4. 检查可执行文件
- echo "🔨 可执行文件检查:"
- EXEC_FILE="/opt/dhcp-dns-manager/dhcp-dns-manager"
- if [ -f "$EXEC_FILE" ]; then
- echo "✓ 可执行文件存在: $EXEC_FILE"
- ls -lh "$EXEC_FILE"
- # 测试运行
- echo ""
- echo "测试运行(3 秒后自动退出)..."
- timeout 3 "$EXEC_FILE" -config "$CONFIG_FILE" 2>&1 || true
- else
- echo "❌ 可执行文件不存在!"
- fi
- echo ""
- # 5. 检查端口占用
- echo "🔌 端口占用检查:"
- echo "DNS (53/udp):"
- sudo netstat -ulpn 2>/dev/null | grep :53 || echo " 未占用"
- echo "DHCP (67/udp):"
- sudo netstat -ulpn 2>/dev/null | grep :67 || echo " 未占用"
- echo "Web (8080/tcp):"
- sudo netstat -tlnp 2>/dev/null | grep :8080 || echo " 未占用"
- echo ""
- # 6. 检查数据库目录
- echo "💾 数据目录检查:"
- DATA_DIR="/opt/dhcp-dns-manager/data"
- if [ -d "$DATA_DIR" ]; then
- echo "✓ 数据目录存在: $DATA_DIR"
- ls -la "$DATA_DIR"
- else
- echo "❌ 数据目录不存在!"
- fi
- echo ""
- # 7. 检查权限
- echo "🔐 权限检查:"
- echo "安装目录:"
- ls -la /opt/dhcp-dns-manager/ | head -10
- echo ""
- # 8. 检查 systemd 服务文件
- echo "📄 systemd 服务文件:"
- cat /etc/systemd/system/dhcp-dns-manager.service
- echo ""
- echo "=================================="
- echo "诊断完成!"
- echo ""
- echo "💡 常见解决方案:"
- echo "1. 端口被占用 → 修改 configs/config.json 中的端口"
- echo "2. 权限不足 → sudo systemctl restart dhcp-dns-manager"
- echo "3. 配置错误 → 检查 configs/config.json 格式"
- echo "4. 重新编译 → cd /vol1/@apphome/trim.openclaw/data/workspace/dhcp-dns-manager && sudo ./install.sh"
- echo ""
|