功能: - SQLite 数据库检查 - PostgreSQL 服务检查 - Qdrant 服务检查 - MongoDB 服务检查 检查项目: - 数据库文件是否存在 - 服务是否运行 - 数据库/集合是否存在 - 必需服务状态总结 用法: ./scripts/check_db_dependencies.sh
109 lines
3.7 KiB
Bash
Executable File
109 lines
3.7 KiB
Bash
Executable File
#!/bin/bash
|
|
# 数据库依赖检查脚本
|
|
|
|
echo "================================================================================
|
|
数据库依赖检查
|
|
================================================================================
|
|
"
|
|
|
|
USER_HOME=$(eval echo ~${SUDO_USER:-$USER})
|
|
|
|
echo "1. SQLite 数据库检查"
|
|
echo "--------------------------------------------------------------------------------"
|
|
|
|
# Momentry Studio SQLite
|
|
STUDIO_DB="/Users/accusys/momentry_studio/data/users/demo.sqlite"
|
|
if [ -f "$STUDIO_DB" ]; then
|
|
echo "✅ Momentry Studio SQLite: $STUDIO_DB"
|
|
echo " 大小: $(ls -lh "$STUDIO_DB" | awk '{print $5}')"
|
|
echo " 表数量: $(sqlite3 "$STUDIO_DB" "SELECT COUNT(*) FROM sqlite_master WHERE type='table';" 2>/dev/null || echo "N/A")"
|
|
else
|
|
echo "❌ Momentry Studio SQLite: 不存在"
|
|
fi
|
|
|
|
echo ""
|
|
|
|
# MarkBase SQLite
|
|
MARKBASE_DB="${USER_HOME}/markbase/data/auth.sqlite"
|
|
if [ -f "$MARKBASE_DB" ]; then
|
|
echo "✅ MarkBase SQLite: $MARKBASE_DB"
|
|
echo " 大小: $(ls -lh "$MARKBASE_DB" | awk '{print $5}')"
|
|
else
|
|
echo "❌ MarkBase SQLite: 不存在"
|
|
fi
|
|
|
|
echo ""
|
|
echo "2. PostgreSQL 检查"
|
|
echo "--------------------------------------------------------------------------------"
|
|
|
|
# 检查 PostgreSQL 服务
|
|
if lsof -i :5432 >/dev/null 2>&1; then
|
|
echo "✅ PostgreSQL 服务: 运行中 (端口 5432)"
|
|
|
|
# 检查 momentry 数据库
|
|
if psql -U ${USER:-postgres} -l 2>/dev/null | grep -q "momentry"; then
|
|
echo "✅ Momentry 数据库: 存在"
|
|
else
|
|
echo "❌ Momentry 数据库: 不存在"
|
|
fi
|
|
else
|
|
echo "❌ PostgreSQL 服务: 未运行"
|
|
fi
|
|
|
|
echo ""
|
|
echo "3. Qdrant 检查"
|
|
echo "--------------------------------------------------------------------------------"
|
|
|
|
# 检查 Qdrant 服务
|
|
if curl -s http://localhost:6333/collections 2>/dev/null | grep -q "result"; then
|
|
echo "✅ Qdrant 服务: 运行中 (端口 6333)"
|
|
|
|
# 检查 momentry 集合
|
|
if curl -s http://localhost:6333/collections/momentry_rule1 2>/dev/null | grep -q "momentry_rule1"; then
|
|
echo "✅ Momentry 集合: 存在"
|
|
else
|
|
echo "⚠️ Momentry 集合: 不存在"
|
|
fi
|
|
else
|
|
echo "❌ Qdrant 服务: 未运行"
|
|
fi
|
|
|
|
echo ""
|
|
echo "4. MongoDB 检查"
|
|
echo "--------------------------------------------------------------------------------"
|
|
|
|
# 检查 MongoDB 服务
|
|
if lsof -i :27017 >/dev/null 2>&1; then
|
|
echo "✅ MongoDB 服务: 运行中 (端口 27017)"
|
|
|
|
# 检查 momentry 数据库
|
|
if mongosh --quiet --eval "db.getSiblingDB('momentry').stats()" 2>/dev/null | grep -q "db"; then
|
|
echo "✅ Momentry 数据库: 存在"
|
|
else
|
|
echo "⚠️ Momentry 数据库: 不存在"
|
|
fi
|
|
else
|
|
echo "❌ MongoDB 服务: 未运行"
|
|
fi
|
|
|
|
echo ""
|
|
echo "================================================================================
|
|
检查总结
|
|
================================================================================
|
|
"
|
|
|
|
echo "必需服务状态:"
|
|
echo " Momentry Studio (前端):"
|
|
echo " - SQLite: $([ -f "$STUDIO_DB" ] && echo "✅ 就绪" || echo "❌ 缺失")"
|
|
echo ""
|
|
echo " Momentry Core (后端):"
|
|
echo " - PostgreSQL: $([ -f "$STUDIO_DB" ] && lsof -i :5432 >/dev/null 2>&1 && echo "✅ 运行中" || echo "❌ 未运行")"
|
|
echo " - Qdrant: $(curl -s http://localhost:6333/health 2>/dev/null | grep -q "ok" && echo "✅ 运行中" || echo "❌ 未运行")"
|
|
echo " - MongoDB: $(mongosh --quiet --eval "db.runCommand({ping:1})" 2>/dev/null | grep -q "ok" && echo "✅ 运行中" || echo "❌ 未运行")"
|
|
echo ""
|
|
echo " MarkBase Core (文件管理):"
|
|
echo " - SQLite: $([ -f "$MARKBASE_DB" ] && echo "✅ 就绪" || echo "❌ 缺失")"
|
|
echo ""
|
|
|
|
echo "================================================================================
|
|
" |