====== Battery state script ====== The idea with this script is to check whether a server running on a laptop has lost its power source and needs to shutdown nicely. ===== Prerequisite ===== I use the utility called "acpi" to easily draw out the required values. You could also get them directly from /proc but I'm lazy :-) Install acpi with this command: sudo apt-get install acpi ===== The script ===== The script is very simple and I've put some comments into it to clarify what I'm doing. #!/bin/bash # Check if we're running on battery - the output will contain the word "Discharging" if we are # and generate one line thus putting the value "1" into the variable $state state=`acpi -b|grep Discharging| wc -l` # Next we retract the percentage value of remaining power procent=`acpi -b|awk -F ", " '{print $2}'|sed -e 's/\%//g'` # If the power value is below 10% of battery capacity and we're running without power # we shutdown the server if [ $procent -lt 10 -a $state -eq 1 ] then logger "Critical Low Power level - Shutting Down!" sleep 2 halt fi