이 콘텐츠는 기계 번역된 것입니다. 기계 번역 부인정보를 참조하십시오.
영어로 전환

How do I export hard disk and enclosure information from my NAS using a script?
스크립트를 사용하여 NAS에서 하드 디스크 및 인클로저 정보를 어떻게 내보낼 수 있습니까?


최신 업데이트일: 2025-09-17

적용되는 제품

NAS (QTS / QuTS hero)


시나리오

QNAP NAS를 확장 유닛과 함께 사용하는 경우, 설치된 모든 하드 드라이브의 브랜드, 모델 및 일련 번호와 같은 세부 정보를 문서화 또는 재고 관리 목적으로 내보내고 싶을 수 있습니다. 이 정보는 그래픽 인터페이스에 나타나지만, 고급 사용자는 SSH를 통해 명령줄을 사용하여 이러한 디스크 세부 정보를 검색하고 내보낼 수 있습니다. 이는 자동화 또는 IT 자산의 재고를 파악하는 데 유용합니다. 


절차

  1. QNAP NAS에서 SSH 액세스 활성화.
    참고: SSH를 활성화하면 보안 위험이 발생할 수 있습니다. 강력한 비밀번호를 사용하고 사용하지 않을 때는 SSH를 비활성화하십시오.
  2. SSH를 통해 NAS에 연결PuTTY 또는 터미널과 같은 SSH 클라이언트를 사용합니다.
  3. 제공된hdd_id.sh스크립트를 사용하여 디스크 정보를 내보냅니다:
    • 스크립트를 다운로드하거나 생성합니다:다음 내용을 저장합니다hdd_id.shNAS에서:
      !/bin/sh  사용법:    ./hdd_id.sh                모든 인클로저, 탭으로 구분 (stdout)    ./hdd_id.sh --csv          모든 인클로저, --DiskList.csv에 기록    ./hdd_id.sh 1              enc_id=1만, 탭으로 구분    ./hdd_id.sh --csv 1        enc_id=1만, --DiskList.csv에 기록  CSV=0 if ["$1" = "--csv"]; then   CSV=1   shift fi  if [-n "$1"]; then   ENC_LIST="$1" else   ENC_LIST=$(hal_app --se_enum 2>/dev/null | awk '/^=/{next}     NF==0{next}     /(^|[[:space:]])enc_id($|[[:space:]])/ {hdr=1; next}     hdr && $1 ~ /^[0-9]+$/ {print $1}' | sort -n | uniq) fi  [-z "$ENC_LIST"] && {echo "인클로저 enc_id를 찾을 수 없습니다."; exit 1;}  OUTFILE=""DELIM="\t"if [$CSV -eq 1]; then   HOSTNAME=$(uname -n 2>/dev/null)   [-z"$HOSTNAME"] && HOSTNAME="NAS"DATESTR=$(date +%Y%m%d)   OUTFILE="${HOSTNAME}-${DATESTR}-DiskList.csv"DELIM=","echo"Enclosure,Slot,Brand,Model,Serial">"$OUTFILE"fi  for ENC in $ENC_LIST; do   NAME=$(hal_app --se_get_jbod_display_name enc_id=$ENC 2>/dev/null)   [-z"$NAME"] && NAME="ENC_${ENC}"hal_app --pd_enum enc_id=$ENC 2>/dev/null | awk -v name="$NAME"-v D="$DELIM"-v csv="$CSV"-v out="$OUTFILE" '     /^=/{next}     NF==0{next}     !hdr && /(^|[[:space:]])port_id($|[[:space:]])/ && /vendor/ && /model/ && /serial_no/ {       for(i=1;i<=NF;i++){if($i=="port_id")    pid=i         if($i=="vendor")     bid=i         if($i=="model")      mid=i         if($i=="serial_no")  sid=i       }       hdr=1; next     }     hdr && $1 ~ /^[0-9]+$/ && pid>0 && bid>0 && mid>0 && sid>0 {line = name D $(pid) D $(bid) D $(mid) D $(sid)       if (csv==1) {print line>> out       } else {print line}     }   ' done
    • 스크립트를 실행 가능하게 만듭니다:
      chmod +x hdd_id.sh
    • 필요에 따라 스크립트를 실행합니다:
      • ./hdd_id.sh— 모든 인클로저를 나열하고, 탭으로 분리된 데이터를 터미널에 출력합니다.
      • ./hdd_id.sh --csv— 모든 인클로저를 나열하고, CSV 파일로 출력합니다.<host>-<yyyymmdd>-DiskList.csv.
      • ./hdd_id.sh 1— 인클로저만 나열합니다.enc_id=1, 탭으로 분리됨.
      • ./hdd_id.sh --csv 1— 인클로저만 나열합니다.enc_id=1, CSV로 출력합니다.
    • 예시 출력:
      ENC_03TOSHIBAMC04ACA300E85G9XXXXFLVA
      ENC_06SeagateST8000VX010-2ZR188WPV0XYZZ
      ENC_07SeagateST8000VX010-2ZR188WPV0ZZZZ
      ENC_08SeagateST8000VX010-2ZR188WPVXXXR5
      TR-004-N0011SeagateST4000NE001-2MA101WS24ZZZB
      TR-004-N0012SeagateST4000NE001-2MA101WS24XXXY

      각 줄에는 다음이 포함됩니다:인클로저 이름,슬롯,브랜드,모델,시리얼.

    • 내보낸 파일 다운로드(사용 중인 경우--csv) NAS에서File Station또는 SMB/CIFS를 사용하여 다운로드합니다.



추가 읽기

이 기사가 도움이 되었습니까?

피드백을 주셔서 감사드립니다.

이 기사가 어떻게 개선될 수 있을지 말해 주십시오.

추가 피드백을 제공하려면 아래에 포함하십시오.

사양 선택

      더 보기 적게 보기

      다른 국가/지역 사이트:

      open menu
      back to top