Hogyan exportálhatom a merevlemez és a ház információit a NAS-omról egy szkript segítségével?
Alkalmazható termékek
NAS (QTS / QuTS hero)
Forgatókönyv
Ha egy QNAP NAS-t használ bővítőegységgel, előfordulhat, hogy szeretné exportálni az összes telepített merevlemez részletes adatait, mint például a márka, a modell és a sorozatszám, dokumentáció vagy leltár céljából. Bár ezek az adatok megjelennek a grafikus felületen, a haladó felhasználók parancssor segítségével SSH-n keresztül lekérhetik és exportálhatják ezeket a lemez részleteket. Ez hasznos lehet automatizálás vagy az IT eszközök leltározása céljából.
Eljárás
- Engedélyezze az SSH hozzáférést a QNAP NAS-on.
Megjegyzés: Az SSH engedélyezése biztonsági kockázatokat jelenthet. Győződjön meg róla, hogy erős jelszavakat használ, és tiltsa le az SSH-t, amikor nincs használatban. - Csatlakozzon a NAS-hoz SSH-n keresztülegy SSH kliens (például PuTTY vagy Terminal) használatával.
- Használja a megadott
hdd_id.sh
szkriptet a lemez információk exportálásához:- Töltse le vagy hozza létre a szkriptet:Mentse el a következő tartalmat mint
hdd_id.sh
a NAS-odon:#!/bin/sh # Használat: ./hdd_id.sh minden ház, tabulátorral elválasztva (stdout-ra) ./hdd_id.sh --csv minden ház, írja a
- -DiskList.csv fájlba ./hdd_id.sh 1 csak enc_id=1, tabulátorral elválasztva ./hdd_id.sh --csv 1 csak enc_id=1, írja a - -DiskList.csv fájlba 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 "Nincs enclosure enc_id található."; 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,Márka,Modell,Sorozatszám" > "$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 - Tedd a szkriptet futtathatóvá:
chmod +x hdd_id.sh
- Futtassa a szkriptet szükség szerint:
./hdd_id.sh
— Felsorolja az összes házat, tabulátorral elválasztott adatokat ad ki a terminálra../hdd_id.sh --csv
— Felsorolja az összes házat, CSV fájlba menti<HOST>-<YYYYMMDD>-DiskList.csv néven.
./hdd_id.sh 1
— Csak a házat listázzaenc_id=1
, tabulátorral elválasztva../hdd_id.sh --csv 1
— Csak a házat listázzaenc_id=1
, CSV-be menti.
- Példa kimenet:
ENC_03TOSHIBAMC04ACA300E85G9XXXXFLVA ENC_06SeagateST8000VX010-2ZR188WPV0XYZZ ENC_07SeagateST8000VX010-2ZR188WPV0ZZZZ ENC_08SeagateST8000VX010-2ZR188WPVXXXR5 TR-004-N0011SeagateST4000NE001-2MA101WS24ZZZB TR-004-N0012SeagateST4000NE001-2MA101WS24XXXY
Minden sor tartalmazza:Ház neve,Slot,Márka,Modell,Sorozatszám.
- Töltse le az exportált fájlt(ha használja a
--csv
) a NAS-ról File Station vagy SMB/CIFS segítségével.
- Töltse le vagy hozza létre a szkriptet:Mentse el a következő tartalmat mint