作業日記@HatenaBlog

各種の作業メモ

HDD温度監視

HDDがかなり発熱するため、簡易的なHDD温度監視スクリプトを書いてcronで回すことにする。

シェルスクリプト hddtemp.sh
#!/bin/sh
DATE=`date "+%Y/%m/%d"`
TIME=`date "+%H:%M:%S"`
TEMP=`/usr/local/sbin/smartctl -a /dev/ad4 | grep 194 | awk '{print $10}'`
OUTPUT='"'$DATE'","'$TIME'","'$TEMP'"\n'
echo $OUTPUT >> /usr/home/hoge/hddtemp.csv

当初の hddtemp.sh だと温度数値が時々狂うので補正する。

#!/bin/sh
DATE=`date "+%Y/%m/%d"`
TIME=`date "+%H:%M:%S"`
TEMP=`/usr/local/sbin/smartctl -a /dev/ad4 | grep 194 | awk '{print $10}'`

# $TEMPの文字数が2文字超の時は下2桁のみ抽出
if [ ${#TEMP} -gt 2 ] ; then
TEMP=`echo $TEMP | cut -d " " -f 2`
fi

OUTPUT='"'$DATE'","'$TIME'","'$TEMP'"\n'
echo $OUTPUT >> /root/hddtemp.csv
exit 0;

同様の結果が得られるが、スクリプトの一部を変更

#!/bin/sh
DATE=`date "+%Y/%m/%d"`
TIME=`date "+%H:%M:%S"`
TEMP=`/usr/local/sbin/smartctl -a /dev/ad4 | grep 194 | awk '{print $10}'`

# $TEMPの文字数が2文字超の時は下2桁のみ抽出
if [ ${#TEMP} -gt 2 ] ; then
LEN=`expr ${#TEMP} - 1`
TEMP=`echo $TEMP | cut -b $LEN-`
fi

OUTPUT='"'$DATE'","'$TIME'","'$TEMP'"\r'
echo $OUTPUT >> /root/hddtemp.csv
exit 0;