Your hard disk has tools built in which will alert you if your hard disk is about to physically fail. This has saved me exactly once, so it’s worth it in my opinion to set this up, even if the only computer that matters to you is your laptop.
Here’s how I have everything set up (in Arch)
First, I install
msmtp and set up the system-wide
/etc/msmtprc as follows
defaults tls on tls_starttls on tls_trust_file /etc/ssl/certs/ca-certificates.crt logfile /var/log/msmtprc.log account remote domain domain.remote.tld host smtp.remote.tld auth on port 587 user awebster from email@example.com password <PASSWORD> account default : remote
<PASSWORD> is your actual password.
chmod 600 this file for not that much security. Might just want to use a throwaway or sandboxed email for such things anyway.
Next, install the smart tools
pacman -S smartmontools
and enable them
systemctl enable smartd systemctl start smartd
Make sure that your drive support SMART and that SMART reporting is turned ON. See here for how to do that.
/etc/smartd.conf to report errors to you by changing the line
DEVICESCAN -m firstname.lastname@example.org -M test
-M test this is just to get it working, we’ll remove that at the end.
Since I use
msmtp instead of whatever, I had to edit
/etc/smartd_warning.sh so that it would use
msmtp. First, change the
os_mailer variable to
# Default mailer os_mailer="msmtp"
Next, edit the following lines so that they look like this:
# Send mail or run command if [ -n "$SMARTD_ADDRESS" ]; then # Send mail, use platform mailer by default test -n "$SMARTD_MAILER" || SMARTD_MAILER=$os_mailer if [ -n "$dryrun" ]; then echo "exec $SMARTD_MAILER -a default $SMARTD_ADDRESS <<EOF To: $SMARTD_ADDRESS From: $(whoami)@$HOSTNAME Subject: $SMARTD_SUBJECT $fullmessage EOF" else exec $SMARTD_MAILER -a default $SMARTD_ADDRESS <<EOF To: $SMARTD_ADDRESS From: $(whoami)@$HOSTNAME Subject: $SMARTD_SUBJECT $fullmessage EOF fi
The modification here is basically that
msmtp (as far as I know, anyways) wants a nicely formatted message.
Test that everything is working by restarting the daemon
systemctl restart smartd
You should receive an email. If not, figure out what went wrong and fix it. If everything looks good you can remove the
-M test dingle from
/etc/smartd.conf and you should be good to go.
Quick note: You should always have a valid
.forward file in both your own home directory and root’s home directory. Make sure there are multiple entries in this in case you need it one day.