NoPaste

batteriestatus.sh Skript zum ?berpr?fen des Batteriestatus

von Snoopy

SNIPPET_TEXT:
  1. #!/bin/sh
  2.  
  3. PATH=/sbin:/bin:/usr/bin:/usr/sbin:/usr/local/sbin:
  4.  
  5. # batteriestatus.sh
  6. #
  7. # Snoopy@Debianforum.de
  8. #
  9. # Dieses Skript uerberwacht den Batteriestatus
  10. #
  11. # Wenn ein kritischer Stand ( unter 4 % ) erreicht wird
  12. # wird automatisch ein "hibernate" des Notebooks eingeleitet
  13. # ( der Rechner wird Suspendet, damit keine Daten verloren gehen )
  14. #
  15. # Zum "Aufwecken" sollte die Stromzufuhr wiederhergestellt und einmal
  16. # der "PowerOn/Off" Button gedrueckt werden !
  17. #
  18. # Gestartet durch die Root-Crontab wird es jede Minute einmal ausgefuehrt.
  19. # * * * * * /root/skripte/batteriestatus.sh 1> /dev/null
  20.  
  21. # Variablen
  22. _batterie_voll=`/bin/grep full /proc/acpi/battery/BAT0/info | /usr/bin/awk -F' ' '{print $4}'`
  23. _batterie_uebrig=`/bin/grep remaining /proc/acpi/battery/BAT0/state | /usr/bin/awk -F' ' '{print $3}'`
  24. _batterie_status=`/bin/grep 'charging state' /proc/acpi/battery/BAT0/state | /usr/bin/awk -F' ' '{print $3}'`
  25.  
  26. # Prozent-Berechnung der momantanen Kapazitaet
  27. _batterie_prozent=$((${_batterie_uebrig}*100/${_batterie_voll}))
  28.  
  29. # Abfrage ob das Notebook gerade geladen wird
  30. # Wenn nein UND die Kapazitaet unter 4 % ist => hibernate
  31. if [ ${_batterie_status} == 'discharging' ]
  32. then
  33.         if [ ${_batterie_prozent} -lt 4 ]
  34.         then
  35.         /usr/local/sbin/hibernate
  36.         fi
  37. fi

Quellcode

Hier kannst du den Code kopieren und ihn in deinen bevorzugten Editor einfügen. PASTEBIN_DOWNLOAD_SNIPPET_EXPLAIN