2007年08月13日

makeでサーバ管理効率を上げる Postfix編

livedoorClipに登録 | このエントリーをはてなブックマークに追加 | del.icio.usに登録 | MM/Memoに登録

自分は良くmakeを使う(Makefileを書く)。


▼makeの良い所
対象となるファイルのタイムスタンプを比較し、比較対照よりも
新しくなっている場合、何かしらの処理を行ってくれる所。


この利点を上手く利用してやるとサーバ管理の効率を上げる要素となる。
例えばPostfixのconfig。

Postfixを使っている人は分かるだろうけど、main.cfやmaster.cf、
これ等Postfixのconfigはincludeディレクティブ未対応。
それゆえ、main.cfやmaster.cfを1ファイルに設定を集約してやる必要が出て来る。


効率よく管理する方法はいくつかある。
そのうちの1つが、複数ファイルを1ファイルとして結合する方法。

▼confを結合する時のイメージ
d47f193a.png


※画像クリックで拡大表示


▼/etc/postfix/main.cfを結合生成プロセス

・/etc/postfix/parts.d-common/main.cf 管理サーバ群共通設定
・/etc/postfix/parts.d-local/main.cf サーバ特有設定
  ↓
  ↓2つを結合する
  ↓
・/etc/postfix/master.cf


▼Makefile例
PARTS_COMMON=parts.d-common
PARTS_LOCAL=parts.d-local
MAIN_CFS=$(PARTS_COMMON)/main.cf $(PARTS_LOCAL)/main.cf

all: main.cf

main.cf: $(MAIN_CFS)
cat $(MAIN_CFS) > $@
echo $@ done.



▼実行結果
$ make
cat parts.d-common/main.cf parts.d-local/main.cf > main.cf
echo main.cf done.
main.cf done.


makeを実行する事により、main.cfが生成される。
parts.d-common/main.cfかparts.d-local/main.cfのタイムスタンプと比較し、
main.cfのタイムスタンプが *古い場合*、main.cfが再生成される。


結合用スクリプトを生成するよりも、makeを利用した方が良い事は多々ある。
シェルスクリプトを作っておいて良かったと思った事は…無いな。

makeはソースをコンパイルする為だけの物ではない。
サーバ管理にも使えるスグレモノ。
上手く使えば大分サーバ管理効率を上げる事が出来るはず。

広がるmakeの世界。


半袖 at 23:35 │Comments(0)TrackBack(0)サーバ管理  | Postfix

トラックバックURL

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔