Home > Linux | python | twitter > [Python]ハードディスクの温度を定期的にTwitterにポストする

[Python]ハードディスクの温度を定期的にTwitterにポストする

自宅サーバ(CentOS5.3)は極端に熱のこもる場所に設置してあるわけではないので、廃熱に関してはそこそこ大丈夫だと思っているのだけど、それでもハードディスクとかの温度は心配。そこで会社にいても状況を把握出来るように、4時間おきにハードディスクの温度をTwtterにポストしている。以下備忘録的にまとめてみた。

hddtempのインストール

まずはハードディスクの温度を計測する為にhddtempをインストールする。CentOSの場合はyumでインストール可能。

# yum -y install hddtemp

使用する時は、hddtemp disk名をタイプして実行する

# hddtemp /dev/sda
/dev/sda: WDC WD10EADS-00L5B1: 39°C

hddtempの値を取得してTwitterにポストする

以下ソースコード(Pythonなのに全くインデントしてない><)

#!/usr/bin/env python
# coding: utf-8

import sys
import twitter
from datetime import *

USERNAME = "TWITTER_ACCOUNT"
PASSWORD = "ACCOUNT_PASSWORD"

DATETIME = datetime.now()
TIME_STR = DATETIME.strftime("%I:%M %p")
api = twitter.Api(USERNAME, PASSWORD)

t = sys.stdin.readline()
info = t.rstrip() + " " + "at" + " " +TIME_STR

post = u"%s" % (info)
api.PostUpdate(post)
# print post

Twitterへポストするモジュールはpython-twitterを使用。
注意した点は2つあって、1つは受け取った標準出力に改行がついてきて、そのままではTwitterにうまくポスト出来ないのでrstripしていること。もうひとつは、ポストする内容にその時刻を追加したこと(取得した温度だけをポストする場合、温度が毎回同じだとポストする内容が一緒になってしまい、Twiiter仕様上無効ポストになってしまう)

シェルスクリプトの作成

#!/bin/sh
export LANG=ja_JP.utf-8
/usr/sbin/hddtemp /dev/sda | /usr/local/bin/python /usr/local/bin/hdd_info.py
exit

ここでは、/dev/sdaの温度を取得し、先ほどのスクリプト(hdd_info.py)へパイプで繋いでいる。ディスク名は環境によって違うと思うので置き換えて下さい。最初どうしても°CがTwitterにポストされず困っていたのだけど、export LANG=ja_JP.utf-8を記述することでポスト出来るようになった(katsu2000xさんthanks!)
このシェルスクリプトをCronで定時実行させるとこのようになる。Twitterアカウントは本人のアカウントを使用するとTLを汚すような気がして、それ用のアカウントを作った。

20090904_01

[2009年9月13日追記]
twitterでフォローしているmagicalhatさんが、perlでさくっと書いてくれてトラバ貰いました。勉強になります!
[追記ここまで]

Comments:0

Comment Form
Remember personal info

Trackbacks:1

Trackback URL for this entry
http://aoshiman.net/weblog/2009/09/04/python_hdtemp/trackback/
Listed below are links to weblogs that reference
[Python]ハードディスクの温度を定期的にTwitterにポストする from “南船北馬”
trackback from ふしぎなぼうし 09-09-07 (月) 20:43

[Linux][Perl] Perl でハードディスクの温度を定期的に Twitter にポストする…

ちょっと Twitter での aoshiman さんの発言 が気になったので、Blog を見てみることに。 自宅サーバは極端に熱のこもる場所に設置してあるわけではないので、廃熱に関してはそこそこ大丈夫だと思っているのだけど、それでもハードディスクとかの温度は心配。 http://aoshim…

Home > Linux | python | twitter > [Python]ハードディスクの温度を定期的にTwitterにポストする

Search
Feeds
Meta

Return to page top