tonglin0325的个人主页

使用SMART监控Ubuntu

参考:完全用 GNU/Linux 工作 - 29. 檢測硬碟 S.M.A.R.T. 健康狀態

1.安装

1
2
sudo apt-get install smartmontools

2.查看硬盘的参数,需要获得Root权限

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
sudo smartctl -i /dev/sda

smartctl 6.5 2016-01-24 r4214 [x86_64-linux-4.4.0-122-generic] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family: Samsung based SSDs
Device Model: Samsung SSD 850 EVO 250GB
Serial Number: S3LCNF0J807262K
LU WWN Device Id: 5 002538 d42253d35
Firmware Version: EMT03B6Q
User Capacity: 250,059,350,016 bytes [250 GB]
Sector Size: 512 bytes logical/physical
Rotation Rate: Solid State Device
Form Factor: 2.5 inches
Device is: In smartctl database [for details use: -P show]
ATA Version is: ACS-2, ATA8-ACS T13/1699-D revision 4c
SATA Version is: SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Mon May 7 10:14:29 2018 CST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

3.如果使用下面的Python脚本来调用该命令的时候,是需要获得Root权限的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/usr/bin/python
# !-*- coding:utf8 -*-

import os


def main():
dir = "~/桌面/test.sh"
result = os.system("sh ~/桌面/test.sh")
# print result


if __name__ == '__main__':
main()

可以使用下面的方法来实现免输入密码,使用 sudo visudo 命令对/etc/sudoers文件增加下面设置

1
2
lintong  ALL=(ALL) NOPASSWD: /usr/sbin/smartctl

 注意不要使用vim等工具来进行修改,无法修改错的话可能会出现下面的错误

1
2
sudo: /etc/sudoers 中第 33 行附近有解析错误sudo: 没有找到有效的 sudoers 资源,退出sudo: 无法初始化策略插件

 如果出现了的话,可以使用Ubuntu启动盘进入系统,在root用户下将/etc/sudoers文件改回来就可以了