Nearly all hard drives in the last several years come with a technology called S.M.A.R.T. which gives you, to put it very simply, a way to see how healthy the drives are. You can get a surprisingly large amount of information from your hard drives about their health status–even a log of the drive’s health status history.
This shell script does a quick scan for the overall health of your drives (well, at least /dev/sda through /dev/sdzz). Obviously, this is for Linux and you need the smartctl utility (you can install it with yum or apt, etc).