| #! /bin/sh |
| |
| # Send mail |
| if which mail >/dev/null 2>&1 |
| then |
| echo "$SMARTD_MESSAGE" | mail -s "$SMARTD_FAILTYPE" "$SMARTD_ADDRESS" |
| fi |
| |
| # Notify desktop user |
| MESSAGE="SMART Disk monitor:" |
| case "$SMARTD_FAILTYPE" in |
| "EmailTest"|"Health"|"Temperature"|"Usage") |
| ;; |
| *) |
| # "CurrentPendingSector", // 10 |
| # "OfflineUncorrectableSector", // 11 |
| # "FailedReadSmartErrorLog", // 7 |
| # "ErrorCount", // 4 |
| # "FailedReadSmartData", // 6 |
| # "FailedHealthCheck", // 5 |
| # "FailedOpenDevice", // 9 |
| # "SelfTest", // 3 |
| # "FailedReadSmartSelfTestLog", // 8 |
| exit 0 |
| esac |
| |
| # direct write to terminals, do not use 'wall', because we don't want its ugly header |
| for t in $(who | awk '{ print $2; }' | grep -e '^tty' -e '^pts/') |
| do |
| echo "$MESSAGE |
| $SMARTD_MESSAGE" >/dev/$t 2>/dev/null ||: |
| done |
| |