This is another useful script, which do a complete erase and test disk in linux.
The first, we must have a tools “smartmontools”. We install it:
yum install smartmontools
Maybe, we nee som usefull software:
yum install epel-release.noarch
yum install htop dstat lm_sensors.x86_64 hddtemp
#!/bin/bash #path of disk test = /dev/sda #find a serial number of disk disk = `smartctl -a /dev/sda | grep Serial | awk '{print $3}'` log = /home/vasil/$disk.log #next, we destroy any of the partition table (mbr or gpt) sgdisk --zap-all $test > $log sleep 5 #notice a temperature of disk to log hddtemp $test >> $log #now we write zeros to every block of disk - secure erase contents dd if=/dev/zero of=$test bs=4M #notice a temperature of disk hddtemp $test >> $log sleep 5 #begin an internal self test - short smartctl --test=short $test sleep 150 #begin a long smart self test hddtemp $test >> $log smartctl --test=long $test sleep 300 hddtemp $test >> $log #print the output of tests smartctl -l selftest $test >> $log sleep 5 #start check of disk for bad-blocks a log bad blocks to log `badblocks -v /dev/sda > /home/vasil/sda.txt` >> $log sleep 5 hddtemp $test >> $log smartctl --test=long $test exit 0
This is fully automatized. We can start this script with modification of variable $test for more disks. And next day, we can examine logs. For bad blocks, for smart self-test and other.
Total Page Visits: 176787 - Today Page Visits: 194