#!/bin/bash PROG="$1" case "$PROG" in suspend|standby) ;; resume|start) if apm |grep on-line &>/dev/null; then logger -i -p local0.info -t apm Setting disk apm mode to 0xFF on $PROG hdparm -B 255 /dev/hda > /dev/null else logger -i -p local0.info -t apm Setting disk apm mode to 0x01 on $PROG hdparm -B 1 /dev/hda > /dev/null fi ;; change) case $2 in power) # change in power status if apm |grep on-line &>/dev/null; then logger -i -p local0.info -t apm Setting disk apm mode to 0xFF on change to AC hdparm -B 255 /dev/hda > /dev/null else logger -i -p local0.info -t apm Setting disk apm mode to 0x01 on change to battery hdparm -B 1 /dev/hda > /dev/null fi ;; battery) # battery low logger -i -p local0.info -t apm Battery is low. Do something\! ;; *) logger -i -p local0.info -t apm Unknown message: change to $2 ;; esac ;; *) logger -i -p local0.info -t apm Unknown message: $PROG ;; esac