温度が45度以下になったらファンを低速回転
させるスクリプトを書き、
外向きサーバの HD-HLAN 上で cron から1時間に2回動作させてみた。
#!/bin/sh
TEMPLIMIT=45
LOCKFILE=/tmp/HDDtemp
if [ -f $LOCKFILE ]
then
	echo $0 already running
	exit
fi
TEMP=`/usr/sbin/hddtemp -n /dev/hda`
date
echo $TEMP C
if [ "$TEMP" -le $TEMPLIMIT ]
then
	/bin/echo -n '\\\\' > /dev/ttyS1
	exit 0
fi
/bin/echo -n ']]]]' > /dev/ttyS1
touch $LOCKFILE
while [ 1 ]
do
	TEMP=`/usr/sbin/hddtemp -n /dev/hda`
	date
	echo $TEMP C
	if [ "$TEMP" -le $TEMPLIMIT ]
	then
		break
	fi
	sleep 60
done
/bin/echo -n '\\\\' > /dev/ttyS1
rm $LOCKFILE
exit 0
結果、
45度を超えているとファンが高速で回って冷却し、
45度以下だとファンが低速になって静かになる
事を実現できた。
Wed May 26 22:55:00 JST 2004
46 C
Wed May 26 22:55:00 JST 2004
46 C
Wed May 26 22:56:00 JST 2004
46 C
Wed May 26 22:57:00 JST 2004
46 C
Wed May 26 22:58:01 JST 2004
45 C	←ここで 22:55 に起動したスクリプト終了
Wed May 26 23:25:01 JST 2004
47 C
Wed May 26 23:25:01 JST 2004
47 C
Wed May 26 23:26:01 JST 2004
47 C
Wed May 26 23:27:01 JST 2004
47 C
Wed May 26 23:28:01 JST 2004
47 C
Wed May 26 23:29:01 JST 2004
47 C
Wed May 26 23:30:03 JST 2004
47 C
Wed May 26 23:31:03 JST 2004
47 C
Wed May 26 23:32:03 JST 2004
47 C
Wed May 26 23:33:03 JST 2004
46 C
(略)
Wed May 26 23:41:04 JST 2004
46 C
Wed May 26 23:42:05 JST 2004
45 C	←ここで 23:25 に起動したスクリプト終了
Wed May 26 23:55:00 JST 2004
46 C
Wed May 26 23:55:00 JST 2004
46 C
Wed May 26 23:56:01 JST 2004
46 C
Wed May 26 23:57:01 JST 2004
46 C
Wed May 26 23:58:01 JST 2004
46 C
Wed May 26 23:59:01 JST 2004
46 C
Thu May 27 00:00:01 JST 2004
46 C
Thu May 27 00:01:01 JST 2004
46 C
Thu May 27 00:02:03 JST 2004
46 C
Thu May 27 00:03:03 JST 2004
45 C	←ここで 23:55 に起動したスクリプト終了
あとは、どのぐらいの頻度で起動するかだが、、、気休めに15分に1回かな。
常駐させるほどのものでもないだろうし。
閾値も、45度ではなく50度でも良いかもしれない。
Copyright (C) 2004 Yasunari Yamashita. All Rights Reserved.
yasunari @ yamasita.jp
山下康成@京都府向日市