调整部分部署逻辑

This commit is contained in:
2026-07-28 21:55:33 +08:00
parent a2f4326882
commit 04851d244f
+6 -6
View File
@@ -359,19 +359,19 @@ do_deploy() {
print_subtitle "开始部署"
echo ""
# ----- 事务前钩子:备份数据库 -----
# ----- 事务前钩子:备份数据库 -----
print_step "备份数据库..."
BACKUP_DIR="${DEPLOY_DIR}/backups"
BACKUP_DIR="/tmp/frpc-console/db-backups"
mkdir -p "$BACKUP_DIR"
DB_FILE="$DATA_DIR/frpc-console.db"
DB_FILE="${DEPLOY_DIR}/frpc-console.db" # 注意路径变了,不再在 data 子目录
if [ -f "$DB_FILE" ]; then
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
BACKUP_FILE="$BACKUP_DIR/frpc-console.db.$TIMESTAMP"
cp "$DB_FILE" "$BACKUP_FILE"
print_info "已备份: $BACKUP_FILE"
# 检查数据库是否有效(存在 users 表)
# 检查数据库是否有效
if command -v sqlite3 &> /dev/null; then
if ! sqlite3 "$DB_FILE" "SELECT COUNT(*) FROM sqlite_master WHERE type='table' AND name='users';" 2>/dev/null | grep -q "^1$"; then
print_warn "数据库文件无效,将删除,由容器全新初始化"
@@ -563,7 +563,7 @@ do_deploy() {
# 先确认容器在运行
if docker ps --format '{{.Names}}' | grep -q "^frpc-console$"; then
# 再检查 frpc 进程
if docker exec frpc-console ps aux 2>/dev/null | grep -q "[f]rpc -c"; then
if docker exec frpc-console ps aux 2>/dev/null | grep -q "frpc -c"; then
print_success "frpc 进程运行正常"
else
print_warn "frpc 进程未运行(可能配置为空,请在 WebUI 中导入 TOML"
@@ -575,7 +575,7 @@ do_deploy() {
# ----- 事务后钩子:检测数据库是否可用 -----
print_step "验证数据库状态..."
if docker exec frpc-console sqlite3 /app/data/frpc-console.db "SELECT COUNT(*) FROM users;" 2>/dev/null | grep -q "^[0-9]"; then
if docker exec frpc-console sqlite3 /app/frpc-console.db "SELECT COUNT(*) FROM users;" 2>/dev/null | grep -q "^[0-9]"; then
print_success "数据库可用"
else
print_warn "数据库为空或不可用,请通过 WebUI 注册管理员账户"