Is there a way for me to perform a stress test of a hard drive as a background process in Linux?

I recently purchased two 3 TB HDDs, installed them in my home Linux server, and they appear to work. BIOS picks them up, partitioned and formatted okay, and SMART reports zero errors.

According to this question, stress tests may indicate failure early in life. If the tests pass, a drive will typically work for several years. I.e., if it makes it past the infant mortality phase, a drive will achieve a ripe old age.

Is there a way I can kick off a stress test, log out, and check back in several days? Something like a daemon that tests disks?

Related questions:
How to check the health of a hard drive
How do you stress-test your Hard Drives?


This will destroy existing data:
You could write randomly (dd if=/dev/urandom of=/dev/sdX bs=1M etc...) to it, create an empty filesystem (fdisk /dev/sdX then mkfs /dev/sdX1 and tell fsck to check for bad blocks (fsck /dev/sdX1 -fc) then re-examine/compare the SMART readout (smartctl -a /dev/sdX) between before and after.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy