Advertisement
1nv1n

FreeNASTemp

Dec 9th, 2015
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.21 KB | None | 0 0
  1. #!/bin/sh
  2.  
  3. ### Parameters ###
  4. cores=4
  5. logfile="/tmp/cputemp.tmp"
  6. subject="FreeNAS Temperatures"
  7. drives="ada0 ada1 ada2 ada3 ada4"
  8.  
  9. ### Set email headers ###
  10. (
  11. echo "To: ${email}"
  12. echo "Subject: ${subject}"
  13. echo "Content-Type: text/html"
  14. echo "MIME-Version: 1.0"
  15. echo -e "\r\n"
  16. ) > "$logfile"
  17.  
  18. ### Set email body ###
  19. echo "<pre style=\"font-size:14px\">" >> "$logfile"
  20.  
  21. ### CPU Summary ###
  22. (
  23. echo "### CPU Temp. ###"
  24. ) >> "$logfile"
  25.  
  26. ### CPU ###
  27. cores=$((cores - 1))
  28. for core in $(seq 0 $cores)
  29. do
  30. {
  31. temp="$(sysctl -a | grep "cpu.${core}.temp" | cut -c24-25 | tr -d "\n")"
  32. printf "CPU %s: %s C\n" "$core" "$temp"
  33. } >> "$logfile"
  34. done
  35.  
  36. ### HDD Summary ###
  37. (
  38. echo ""
  39. echo "### HDD Temp. ###"
  40. ) >> "$logfile"
  41.  
  42. ### Disks ###
  43. for drive in $drives
  44. do
  45. {
  46. serial="$(smartctl -i /dev/${drive} | grep "Serial Number" | awk '{print $3}')"
  47. temp="$(smartctl -A /dev/${drive} | grep "Temperature_Celsius" | awk '{print $10}')"
  48. printf "%s %-15s: %s C\n" "$drive" "$serial" "$temp"
  49. } >> "$logfile"
  50. done
  51. echo "</pre>" >> "$logfile"
  52.  
  53. ### Send report ###
  54. sendmail -t < "$logfile"
  55. rm "$logfile"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement