#!/bin/bash
#
# CPU-Temperatur-Kontrolle-Script
#
# Copyright 2004 Robin Haunschild
#
# Lizenz: GNU/GPL 2.0
#
while true ; do
   change=0
#   echo -n $change
   temp=$(acpi -t | awk '{print $4}' | awk 'BEGIN {FS="."} ; {print $1}')
   freqgov=$(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor)
   if [[ $temp -gt 71 && \
         $freqgov = "performance" ]] ; then
      change=1
   else
      change=0
   fi
   if [[ $temp -lt 48 && \
         $freqgov = "powersave" ]]; then
      change=1
   else
      change=0
   fi
   if [[ $change=1 ]] ; then
      acpi -t | awk '{
      scaling="/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor"
      if($4 > 71.0) print "powersave" > scaling 
      if($4 < 48.0) print "performance" > scaling 
                      }'
   temp=$(acpi -t | awk '{print $4}')
   freqgov=$(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor)
   else
      change=0
   fi
   freq=$(cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq)
   dattim=$(date)
   if [[ $freqgov = "powersave" ]]; then
      echo "Temp.: " $temp " --> Freqgov: " $freqgov "   Freq:  " $freq "   " $dattim "  " $change
   else
      echo "Temp.: " $temp " --> Freqgov: " $freqgov " Freq: " $freq "   " $dattim "  " $change
   fi
   sleep 2
done
46

