HDDが設定温度に達したらシャットダウンするシェルスクリプト
提供: Wikiducca
概要
設定温度(ここでは60度)に達したら、設定したメールアドレス(ここでは [email protected]) に1分後に落としますよ。とメールしてからシャットダウンするもの。
経緯
2011の夏、電力不足でエアコンとかガンガン使うと白い目で見られるので。書いた。
うちの自宅サーバなぞ落ちても誰もこまらないし、主要なもの(この wiki 含め)は大体クラウドに移したので。
もういらないシェルスクリプトだけどせっかく書いたので。
※hddtemp のインストールが必要。
ディレクトリを作成&移動
# mkdir /usr/local/script/tempChecker/ # cd /usr/local/script/tempChecker/
書く
vi tempChecker.sh
#!/bin/sh LOG="/usr/local/script/tempChecker/Logs/$(date +%y%m%d).log" Message="System will shutdown after 1 minutes." MailSubject="tempCheck Failed! [`date \"+%Y/%m/%d %H:%M:%S\"`]" MailTo="[email protected]" date "+%y%m%d %H:%M:%S" >> ${LOG} for x in /dev/sda /dev/sdb do TEMP=$(/usr/local/sbin/hddtemp $x |awk -F ": " '{print $3}' |awk '{print $1}') if [ $TEMP -gt 60 ] then echo "${x}:${TEMP}:FAILED!! $Message" >> ${LOG} # mail alert. echo "$Message" | mail -s "$MailSubject" $MailTo echo "----------" >> ${LOG} # shutdown shutdown -h +1 exit 1 else echo "${x}:${TEMP}:OK" >> ${LOG} fi done echo "----------" >> ${LOG} # EOF
cron 登録
5分おきにチェックする。
# HDD tempChecker */5 * * * * /usr/local/script/tempChecker/tempChecker.sh
以上。