diff --git a/pharmq-setup.sh b/pharmq-setup.sh index 534b38b..0b3c10c 100644 --- a/pharmq-setup.sh +++ b/pharmq-setup.sh @@ -25,16 +25,22 @@ ARGS_OWNER="" ARGS_PHONE="" ARGS_MSSQL="" SKIP_PBS=false +ARGS_VM_ID="" +ARGS_VM_VMID="" +ARGS_VM_STORAGE="" while [[ $# -gt 0 ]]; do case $1 in - --name) ARGS_NAME="$2"; shift 2 ;; - --hira) ARGS_HIRA="$2"; shift 2 ;; - --addr) ARGS_ADDR="$2"; shift 2 ;; - --owner) ARGS_OWNER="$2"; shift 2 ;; - --phone) ARGS_PHONE="$2"; shift 2 ;; - --mssql) ARGS_MSSQL="$2"; shift 2 ;; - --skip-pbs) SKIP_PBS=true; shift ;; + --name) ARGS_NAME="$2"; shift 2 ;; + --hira) ARGS_HIRA="$2"; shift 2 ;; + --addr) ARGS_ADDR="$2"; shift 2 ;; + --owner) ARGS_OWNER="$2"; shift 2 ;; + --phone) ARGS_PHONE="$2"; shift 2 ;; + --mssql) ARGS_MSSQL="$2"; shift 2 ;; + --skip-pbs) SKIP_PBS=true; shift ;; + --vm-id) ARGS_VM_ID="$2"; shift 2 ;; + --vm-vmid) ARGS_VM_VMID="$2"; shift 2 ;; + --vm-storage) ARGS_VM_STORAGE="$2"; shift 2 ;; --help|-h) echo "사용법: pharmq-setup.sh [옵션]" echo " --name 약국명 (필수 또는 대화형 입력)" @@ -421,9 +427,12 @@ else: PYEOF echo "" - # --skip-pbs 옵션이면 자동 스킵 + # --skip-pbs: PBS 스킵 / --vm-id: 자동 선택 / 없으면 대화형 if [ "$SKIP_PBS" = true ]; then TEMPLATE_VMID="" + elif [ -n "$ARGS_VM_ID" ]; then + TEMPLATE_VMID="$ARGS_VM_ID" + print_ok "VM 백업 자동 선택: $TEMPLATE_VMID" else echo -ne "${CYAN}복원할 VM 백업 ID (숫자, Enter로 건너뛰기): ${NC}" read -r TEMPLATE_VMID /dev/null | tail -n +2 | while read -r line; do - sname=$(echo "$line" | awk '{print $1}') - stype=$(echo "$line" | awk '{print $2}') - echo -e " ${GREEN}●${NC} ${sname} (${stype})" - done - echo "" + if [ -n "$ARGS_VM_STORAGE" ]; then + TARGET_STORAGE="$ARGS_VM_STORAGE" + else + echo "" + print_step "사용 가능한 스토리지:" + pvesm status -content images 2>/dev/null | tail -n +2 | while read -r line; do + sname=$(echo "$line" | awk '{print $1}') + stype=$(echo "$line" | awk '{print $2}') + echo -e " ${GREEN}●${NC} ${sname} (${stype})" + done + echo "" - echo -ne "${CYAN}저장 스토리지 [기본: local-lvm]: ${NC}" - read -r TARGET_STORAGE /dev/null; then print_warn "VMID $VM_VMID가 이미 존재합니다." - echo -ne "${YELLOW}삭제하고 복원하시겠습니까? (y/N): ${NC}" - read -r confirm /dev/null || true sleep 2