이 콘텐츠는 기계 번역된 것입니다. 기계 번역 부인정보를 참조하십시오.
영어로 전환
스크립트를 사용하여 NAS에서 하드 디스크 및 인클로저 정보를 어떻게 내보낼 수 있습니까?
최신 업데이트일:
2025-09-17
적용되는 제품
NAS (QTS / QuTS hero)
시나리오
QNAP NAS를 확장 유닛과 함께 사용하는 경우, 설치된 모든 하드 드라이브의 브랜드, 모델 및 일련 번호와 같은 세부 정보를 문서화 또는 재고 관리 목적으로 내보내고 싶을 수 있습니다. 이 정보는 그래픽 인터페이스에 나타나지만, 고급 사용자는 SSH를 통해 명령줄을 사용하여 이러한 디스크 세부 정보를 검색하고 내보낼 수 있습니다. 이는 자동화 또는 IT 자산의 재고를 파악하는 데 유용합니다.
절차
- QNAP NAS에서 SSH 액세스 활성화.
참고: SSH를 활성화하면 보안 위험이 발생할 수 있습니다. 강력한 비밀번호를 사용하고 사용하지 않을 때는 SSH를 비활성화하십시오. - SSH를 통해 NAS에 연결PuTTY 또는 터미널과 같은 SSH 클라이언트를 사용합니다.
- 제공된
hdd_id.sh
스크립트를 사용하여 디스크 정보를 내보냅니다:- 스크립트를 다운로드하거나 생성합니다:다음 내용을 저장합니다
hdd_id.sh
NAS에서:!/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를 사용하여 다운로드합니다.
- 스크립트를 다운로드하거나 생성합니다:다음 내용을 저장합니다