1 打開 ssh

2. ssh 進入後 再 sudo -i 到 root

3. 看有沒有 smartctl

root@NAS~# which smartctl
/bin/smartctl
root@NAS~# /bin/smartctl
smartctl 6.5 (build date Jul  6 2017) [x86_64-linux-3.10.102] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

ERROR: smartctl requires a device name as the final command-line argument.


Use smartctl -h to get a usage summary

4. 沒有就去控制台裝

5. 掃描 HDD & 看 HDD 與 取 溫度

root@NAS ~# smartctl --scan
/dev/hda -d ata # /dev/hda, ATA device
/dev/sda -d scsi # /dev/sda, SCSI device
/dev/sdb -d scsi # /dev/sdb, SCSI device

root@NAS ~#  smartctl -a /dev/hda -d ata | egrep "Model|Temp"
Model Family:     NAS HDD
Device Model:     ST4XXXXXXXX
190 Airflow_Temperature_Cel                                          0x0022   067   062   045    Old_age   Always       -       33 (Min/Max 31/33)
194 Temperature_Celsius                                              0x0022   033   040   000    Old_age   Always       -       33 (0 18 0 0 0)

6.  改 /etc/sudoers 將 admin 改成不再問密碼

admin        ALL=NOPASSWD: ALL

7. 由遠端 ssh 進來 sudo .... 就可看到資料了
    網路上抄個 python 

#!/usr/bin/env python

import paramiko

hostname = '192.168.0.X'
port = 22
username = 'User'
password = 'user_pass'
cmds = "sudo smartctl -a /dev/hda -d ata | awk ' /Serial Number:/ { printf \"%s: \", $NF }; /Temperature_Celsius/ { print $10 }; ' | sed -e 's/[-_]//g'

if __name__ == "__main__":
    paramiko.util.log_to_file('/dev/null')
    s = paramiko.SSHClient()
    s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    s.connect(hostname, port, username, password)
    stdin, stdout, stderr = s.exec_command(cmds)
    print stdout.read()
    s.close()

8. 執行

#  python ssh.py
Z333F333: 33

9. 如何放到 cacti ...自己放把 ......

 

arrow
arrow
    全站熱搜

    echochio 發表在 痞客邦 留言(0) 人氣()