こんにちは。CTOの馬場です。
なぜか月末更新と化していますが、今回もインフラエンジニア向けにちょっとした情報を紹介します。
今回は「インフラエンジニア的Pythonのススメ」です。
みなさん、業務自体・効率化のためになにがしかの言語を使っていると思います。
シェルスクリプト、perlあたりがメジャーだと思いますが、私はPythonをお勧めします。
お勧めポイント1: batteries included
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()
※動かなかったらゴメンナサイね
お勧めポイント2: Windowsバイナリが作れる
py2exe を使うと、PythonスクリプトからWindowsのバイナリを作成できます。
なんということでしょう! Python実行環境をインストールしなくても、 Pythonが使えてバッチ運用したり監視プラグインを作ったりできるのです!
今まで悩みのタネだったWindowsサーバの管理自動化実現に大きく貢献しますね!
みなさんもPythonで楽しましょう!
(続く、かもしれない)