Guest User

Untitled

a guest
May 23rd, 2018
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.04 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. interval=5
  4. intervalLong=300
  5.  
  6. function getSensors {
  7. sensors | awk 'BEGIN {FS=":? +"} /^Core|^fan[12]|^temp/ {printf "%9s %9s\n", $1, $2}'
  8. }
  9.  
  10. function getDiskfree {
  11. df -hP | sort -rnk5 | awk '/[89][0-9]%|100%/ {printf "%9s %9s %s\n", $4, $5, $6}'
  12. }
  13.  
  14. function getHddtemp {
  15. hddtemp /dev/sda /dev/sdb | awk 'BEGIN {FS=": "} // {printf "%9s %9s %s\n", $1, $3, $2}' 2>/dev/null
  16. }
  17.  
  18. function outRefresh {
  19. echo -e "\n\n\n\n\n\n\n\n\n\n\n"
  20. echo "$outSensors"
  21.  
  22. echo
  23. echo "$outDiskfree"
  24.  
  25. if [ ${#outHddtemp} -gt 0 ]; then
  26. echo
  27. echo "$outHddtemp"
  28. fi
  29.  
  30. echo
  31. echo -n "$(uptime)"
  32. }
  33.  
  34. function trapInt {
  35. outSensors=$(getSensors)
  36. outDiskfree=$(getDiskfree)
  37. outHddtemp=$(getHddtemp)
  38. outRefresh
  39. echo -ne "\nPress ^C again quickly to quit"
  40.  
  41. trap SIGINT
  42. sleep 1
  43. trap trapInt SIGINT
  44. }
  45.  
  46. trap trapInt SIGINT
  47.  
  48. while true; do
  49. outDiskfree=$(getDiskfree)
  50. outHddtemp=$(getHddtemp)
  51. for (( i=0 ; i<$(($intervalLong/$interval + 1)) ; i++ )); do
  52. outSensors=$(getSensors)
  53. outRefresh
  54. sleep $interval
  55. done
  56. done
Add Comment
Please, Sign In to add comment