インフラエンジニア的Pythonのススメ | 株式会社ハートビーツ(HEARTBEATS Corporation)|AWS・クラウド・サーバーなどのインフラ運用を24時間365日サポート

インフラエンジニアway

インフラエンジニア的Pythonのススメ

技術

こんにちは。CTOの馬場です。

なぜか月末更新と化していますが、今回もインフラエンジニア向けにちょっとした情報を紹介します。

今回は「インフラエンジニア的Pythonのススメ」です。

みなさん、業務自体・効率化のためになにがしかの言語を使っていると思います。

シェルスクリプト、perlあたりがメジャーだと思いますが、私はPythonをお勧めします。

Pythonには batteries included 哲学があり、 パッケージがとても充実しています。

監視系のプラグインなどを書くとき、 とても重宝するのです。

たとえば、smtp接続するプログラムはこれだけです (エラー処理は別途書いてくださいね)。

import smtplib
s = smtplib.SMTP(host='mail.example.com',port=25,timeout=15)
s.helo('localhost')
s.quit()

メールを送るのも簡単です。 mailコマンドもいいけど、 Pythonでさくっと書けるのもいいですよ!

import smtplib
from email.MIMEText import MIMEText
from email.Utils import formatdate

body='this is mail body'
msg = MIMEText(body)
msg['Subject'] = 'this is subject'
msg['From'] = 'from@example.com'
msg['To'] = 'to@example.com'
msg['Date'] = formatdate()

s = smtplib.SMTP('mai.example.com',25)
s.sendmail('from@example.com', 'to@example.com', msg.as_string())
s.close()

※動かなかったらゴメンナサイね

py2exe を使うと、PythonスクリプトからWindowsのバイナリを作成できます。

なんということでしょう! Python実行環境をインストールしなくても、 Pythonが使えてバッチ運用したり監視プラグインを作ったりできるのです!

今まで悩みのタネだったWindowsサーバの管理自動化実現に大きく貢献しますね!

みなさんもPythonで楽しましょう!

(続く、かもしれない)

TOP