Device information –

To check whether your device supports SMART monitoring and to obtain other information such as device model, capacity, serial number, etc, we use the following command:

sudo smartctl -i /dev/sda

If it is not enabled, the following command enables SMART monitoring:

sudo smartctl -s on /dev/sda

Python | Monitor hard-disk health using smartmontools

Smartmontools, an acronym for ‘S.M.A.R.T monitoring’ tools is a package that is used to control and monitor computer storage systems using S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology) system built into most modern (P)ATA, Serial ATA, SCSI/SAS devices. It contains 2 utility programs: smartctl and smartd. These utilities give warnings or alerts of disk degradation and failure. smartmontools can be used in any Unix/Linux-based operating system. It allows us to run various tests to check the health of the HDD or SSD in your system.

Similar Reads

S.M.A.R.T

Most modern hard drives use S.M.A.R.T. (Self-Monitoring, Analysis, and Reporting Technology) to assess their condition to determine if something is wrong with the device. This allows the user to view the hard drive’s SMART data and take necessary actions to repair or replace the device. In this article, we will explore smartmontools and retrieve information on the HDDs and SSD in the system. We will also write a python script to parse the output of smartmontools and store the outputs in an excel sheet....

Installations –

sudo pip3 install pandas sudo apt-get install smartmontools...

Device information –

To check whether your device supports SMART monitoring and to obtain other information such as device model, capacity, serial number, etc, we use the following command:...

Checking the health of the device

To display the overall health of the disk, we use the following command:...

Tests –

To run a short test :...

An example –

We can use Python to automate this process and generate a report. For this, we shall use Pandas to store the result in excel sheets and the os module to run the commands....