Synology NAS 以自定義指令碼查詢SMART
本法簡化SSH指令查詢法,
將SSH指令碼以排程方式執行,
不限定機型,任何型號的Synology NAS均可使用!
當然,其他品牌的NAS理論上也通用唷!
雖然已經簡化SSH指令,
但仍需要一定的常識與判斷能力,
因此請自行酌用~
以下,教學開始!
首先,依機型不同,裝置代碼可能不同,
因此在使用SMART的第一步,
就是先查詢目前的裝置代碼!
由於本教學是採用自定義指令碼,
所以,請先開啟『控制台』→『任務排程表』
本動作會執行多次,請自行熟悉本操作!
①查詢裝置代碼:
開啟『任務排程表』後,請依序點擊:
新增→排程任務→使用者定義指令碼
然後,看圖說故事囉~~~
若執行失敗…
請自行依以下除錯:
●指令碼是否正確?
●是否為管理員帳號?若是小白,建議選root。
●郵件是否正確?建議使用GMail。
取得查詢結果後,我們再進行下一步,
②新增存放 Logs檔 資料夾:
這裏是以『新增共用資料夾』為例!
當然你也可以放在homes資料夾,
或者其他資料夾,但您必需明白…自己在做什麼?
因為需要資料夾的『絕對路徑』,
否則無法將SMART查詢結果匯出存檔!
若您是小白,那還是建議參考本教學!
控制台→共用資料夾→新增→新增共用資料夾
這裏是以『0Robort0』資料夾為例,
權限預設即可,因為本範例會使用root權限唷~
接下來,開啟 File Station,點擊『0Roport0』,
滑鼠右鍵→建立資料夾→SMART
會建立一個子資料夾 SMART
如此一來,SMART的絕對路徑如下:
/volume1/0Report0/SMART
若您想存放其他位置也行,
但請自行判斷絕對路徑在哪裏唷!
③建立SMART指令碼查詢:
開啟『任務排程表』後,請依序點擊:
新增→排程任務→使用者定義指令碼
接下來,看圖說故事囉~~~~
指令碼範例:
完成後,可以先執行乙次該指令碼,
這可能需要一點時間~~
不久之後,請開啟檔案總管,
無論是 File Station 也好,
甚至若已設定網路硬碟也好,
任何方法都行!
在此以 WebDAV 網路硬碟為例,
請看圖~~~
這樣就得到SMART查詢結果囉~~~
若沒有看到結果,
可能您沒有先做SMART檢查,
因此沒有任何資料!
請至『主選單』→『儲存空間管理員』→『HDD/SSD』→『設定』
請自行新增 SMART 排程,
建議,每個月乙次『快速掃描』,
建議,每半年乙次『完整掃描』。
當完成任意掃描後,才能取得SMART查詢結果!
這樣,您學會了嗎?很容易吧!^^
本法簡化SSH指令查詢法,
將SSH指令碼以排程方式執行,
不限定機型,任何型號的Synology NAS均可使用!
當然,其他品牌的NAS理論上也通用唷!
雖然已經簡化SSH指令,
但仍需要一定的常識與判斷能力,
因此請自行酌用~
以下,教學開始!
首先,依機型不同,裝置代碼可能不同,
因此在使用SMART的第一步,
就是先查詢目前的裝置代碼!
由於本教學是採用自定義指令碼,
所以,請先開啟『控制台』→『任務排程表』
本動作會執行多次,請自行熟悉本操作!
①查詢裝置代碼:
開啟『任務排程表』後,請依序點擊:
新增→排程任務→使用者定義指令碼
然後,看圖說故事囉~~~
若執行失敗…
請自行依以下除錯:
●指令碼是否正確?
●是否為管理員帳號?若是小白,建議選root。
●郵件是否正確?建議使用GMail。
取得查詢結果後,我們再進行下一步,
②新增存放 Logs檔 資料夾:
這裏是以『新增共用資料夾』為例!
當然你也可以放在homes資料夾,
或者其他資料夾,但您必需明白…自己在做什麼?
因為需要資料夾的『絕對路徑』,
否則無法將SMART查詢結果匯出存檔!
若您是小白,那還是建議參考本教學!
控制台→共用資料夾→新增→新增共用資料夾
這裏是以『0Robort0』資料夾為例,
權限預設即可,因為本範例會使用root權限唷~
接下來,開啟 File Station,點擊『0Roport0』,
滑鼠右鍵→建立資料夾→SMART
會建立一個子資料夾 SMART
如此一來,SMART的絕對路徑如下:
/volume1/0Report0/SMART
若您想存放其他位置也行,
但請自行判斷絕對路徑在哪裏唷!
③建立SMART指令碼查詢:
開啟『任務排程表』後,請依序點擊:
新增→排程任務→使用者定義指令碼
接下來,看圖說故事囉~~~~
指令碼範例:
#!/bin/bash
LOG_DIR="/volume1/0Report0/SMART"
DATE=$(date +%Y%m%d_%H%M%S)
mkdir -p $LOG_DIR
# 檢查 SATA/SAS 硬碟
for disk in /dev/sd[a-z]; do
if [ -e "$disk" ]; then
smartctl -a -d ata $disk > "$LOG_DIR/smart_$(basename $disk)_$DATE.txt"
fi
done
# 檢查 NVMe SSD
for nvme in /dev/nvme[0-9]*; do
if [ -e "$nvme" ]; then
smartctl -a -d ata $nvme > "$LOG_DIR/smart_$(basename $nvme)_$DATE.txt"
fi
done
# (可選) 壓縮並移除舊檔案
find $LOG_DIR -name "*.txt" -mtime +365 -delete
tar -czf $LOG_DIR/smart_logs_$DATE.tar.gz $LOG_DIR/*.txt && find $LOG_DIR -name "*.txt" -delete
exit 0
LOG_DIR="/volume1/0Report0/SMART"
DATE=$(date +%Y%m%d_%H%M%S)
mkdir -p $LOG_DIR
# 檢查 SATA/SAS 硬碟
for disk in /dev/sd[a-z]; do
if [ -e "$disk" ]; then
smartctl -a -d ata $disk > "$LOG_DIR/smart_$(basename $disk)_$DATE.txt"
fi
done
# 檢查 NVMe SSD
for nvme in /dev/nvme[0-9]*; do
if [ -e "$nvme" ]; then
smartctl -a -d ata $nvme > "$LOG_DIR/smart_$(basename $nvme)_$DATE.txt"
fi
done
# (可選) 壓縮並移除舊檔案
find $LOG_DIR -name "*.txt" -mtime +365 -delete
tar -czf $LOG_DIR/smart_logs_$DATE.tar.gz $LOG_DIR/*.txt && find $LOG_DIR -name "*.txt" -delete
exit 0
完成後,可以先執行乙次該指令碼,
這可能需要一點時間~~
不久之後,請開啟檔案總管,
無論是 File Station 也好,
甚至若已設定網路硬碟也好,
任何方法都行!
在此以 WebDAV 網路硬碟為例,
請看圖~~~
這樣就得到SMART查詢結果囉~~~
若沒有看到結果,
可能您沒有先做SMART檢查,
因此沒有任何資料!
請至『主選單』→『儲存空間管理員』→『HDD/SSD』→『設定』
請自行新增 SMART 排程,
建議,每個月乙次『快速掃描』,
建議,每半年乙次『完整掃描』。
當完成任意掃描後,才能取得SMART查詢結果!
這樣,您學會了嗎?很容易吧!^^