Fix Phase 7 crash + improve error handling across all phases
- Fixed: farmq.db empty date strings causing API 500 error - Phase 7: exit 1 → return 1 (skip and continue instead of crash) - Phase 4/7 failures no longer kill the script - Error trap now shows current progress info (pharmacy, VPN IP, CT VMID, etc.) - Helps debugging when script fails mid-execution Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -772,12 +772,14 @@ JSONEOF
|
||||
else
|
||||
print_err "pharmacy_code 추출 실패"
|
||||
print_info "응답: $PHARMACY_RESPONSE"
|
||||
exit 1
|
||||
print_warn "Phase 7을 건너뛰고 계속 진행합니다."
|
||||
return 1
|
||||
fi
|
||||
else
|
||||
print_err "약국 생성 실패"
|
||||
print_info "응답: $PHARMACY_RESPONSE"
|
||||
exit 1
|
||||
print_warn "Phase 7을 건너뛰고 계속 진행합니다."
|
||||
return 1
|
||||
fi
|
||||
|
||||
# 7-2. PVE host 장비 추가
|
||||
@@ -939,7 +941,25 @@ phase8_verify() {
|
||||
# ============================================================
|
||||
# 에러 핸들링
|
||||
# ============================================================
|
||||
trap 'echo -e "\n${RED}❌ 설치 중 오류가 발생했습니다 (line $LINENO). 로그를 확인해주세요.${NC}"; exit 1' ERR
|
||||
error_handler() {
|
||||
local exit_code=$?
|
||||
local line_no=$1
|
||||
echo ""
|
||||
echo -e "${RED}════════════════════════════════════════════${NC}"
|
||||
echo -e "${RED}❌ 오류 발생 (line ${line_no}, exit code ${exit_code})${NC}"
|
||||
echo -e "${RED}════════════════════════════════════════════${NC}"
|
||||
echo -e "${YELLOW}현재까지 진행된 정보:${NC}"
|
||||
[ -n "${PHARMACY_NAME:-}" ] && echo -e " 약국명: ${PHARMACY_NAME}"
|
||||
[ -n "${PVE_VPN_IP:-}" ] && echo -e " PVE VPN IP: ${PVE_VPN_IP}"
|
||||
[ -n "${CT_VMID:-}" ] && echo -e " CT VMID: ${CT_VMID}"
|
||||
[ -n "${CT_VPN_IP:-}" ] && echo -e " CT VPN IP: ${CT_VPN_IP}"
|
||||
[ -n "${VM_VMID:-}" ] && echo -e " VM VMID: ${VM_VMID}"
|
||||
[ -n "${PHARMACY_CODE:-}" ] && echo -e " 약국 코드: ${PHARMACY_CODE}"
|
||||
echo ""
|
||||
echo -e "${YELLOW}이 정보를 개발자에게 전달해주세요.${NC}"
|
||||
exit 1
|
||||
}
|
||||
trap 'error_handler $LINENO' ERR
|
||||
|
||||
# ============================================================
|
||||
# 메인 실행
|
||||
@@ -957,10 +977,10 @@ main() {
|
||||
phase1_repo_fix
|
||||
phase2_tailscale_pve
|
||||
phase3_collect_info
|
||||
phase4_pbs_restore
|
||||
phase4_pbs_restore || print_warn "Phase 4 실패 — 계속 진행"
|
||||
phase5_create_ct
|
||||
phase6_setup_ct
|
||||
phase7_register
|
||||
phase7_register || print_warn "Phase 7 실패 — 수동 등록 필요"
|
||||
phase8_verify
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user