This script when left running will check the temperature on your first GPU, and if it is higher than a temperature you choose will clock it down in steps of 20. You will need the latest drivers to clock outside the stock range. If it doesn't cool before reaching the lowerbound it will kill your miners (python or poclbm). Automated changing of your clocks is not always advisable, but this has been tested to work independently by myself and one other miner. Thanks to Cyis on #bitcoin-mining.
lowerbound=300 ; hightemp=80; while : ; do if [ "`aticonfig --odgt --adapter=0 | grep -o '[0-9][0-9].[0-9][0-9]' | sed 's/\.[0-9][0-9]//g'`" -gt "$hightemp" ] ; then echo "TOO HOT" ; aticonfig --odsc $(expr `aticonfig --odgc --adapter=0 | grep Clocks | awk '{print $4}'` - 20),$(aticonfig --odgc --adapter=0 | grep Clocks | awk '{print $5}') --adapter=0 ; fi ; if [ "`aticonfig --odgc --adapter=0 | grep Clocks | awk '{print $4}'`" -lt "$lowerbound" ] ; then echo "Just too hot, stopping mining" ; killall poclbm.py ; killall phoenix.py ; exit ; fi ; sleep 30s; done
Here is a one-liner that will kill your miners if the temp goes above your chosen temperature. Works for phoenix or poclbm, leave it running in a terminal when you think there may be a risk of overheating. Just change the temp to what you want. I set it to 80 (-gt "80").
running=true ; while $running ; do if [ "`aticonfig --odgt --adapter=0 | grep -o '[0-9][0-9].[0-9][0-9]' | sed 's/\.[0-9][0-9]//g'`" -gt "80" ] ; then echo "TOO HOT" ; killall poclbm.py ; killall phoenix.py ; running=false ; fi ; sleep 30s; done
If there is interest I can post a version that will turn it back on when it reaches the desired temperature.
Good luck!