Postfix Advent Calendar 2014の 1日目の記事です。
Postfix の /etc/postfix/transport
ファイルを更新しました。
さて、次にやることは? そうですね、Postfix が参照するデータベースファイル
/etc/postfix/transport.db
に反映するため、postmap
(8) を実行する必要があります。
# vi /etc/postfix/transport
…transport を更新…
# postmap /etc/postfix/transport
簡単ですね。では、/etc/postfix/virtual_alias
を更新したら?
/etc/postfix/client_access
は?
# cd /etc/postfix
# vi virtual_alias client_access
…virtual_alias、client_access を更新…
# postmap virtual_alias
# postmap client_access
では、*.db
の更新忘れがないか心配なときは?
# for db in /etc/postfix/*.db; do postmap ${db%%.db}; done
はい、ちょっと面倒くさいですね。
もう少し簡単に、かつ更新忘れないようにしましょうか。
こんなときは Makefile
が便利です。次のような内容で
/etc/postfix/Makefile
を作りましょう。
(必要であればコマンドやディレクトリのパスは適宜書き換えてください)
#!/usr/bin/make -f
POSTFIX_DB= transport.db virtual_alias.db sender_access.db recipient_access.db
POSTFIX_CONFIG_DIR= /etc/postfix
POSTMAP= /usr/sbin/postmap
default:
@cd $(POSTFIX_CONFIG_DIR) && make db
.PHONY: default db
db: $(POSTFIX_DB)
transport.db: transport
$(POSTMAP) $<
virtual_alias.db: virtual_alias
$(POSTMAP) $<
sender_access.db: sender_access
$(POSTMAP) $<
recipient_access.db: recipient_access
$(POSTMAP) $<
Makefile
を直接実行できるように実行権限を与えます。
(オプション。make
コマンドを打って実行する場合は不要です)
# chmod +x /etc/postfix/Makefile
では使ってみましょう。
/etc/postfix/*.db
ファイルのソースファイルを更新したら
/etc/postfix/Makefile
コマンドを実行しましょう。
# vi /etc/postfix/virtual_alias
…virtual_alias を更新…
# /etc/postfix/Makefile
make[1]: Entering directory `/etc/postfix'
/usr/sbin/postmap virtual_alias
make[1]: Leaving directory `/etc/postfix'
いい感じですね。DB ファイルを追加・削除したときに Makefile
の更新を忘れないように気をつけましょう。
Makefile
(make
コマンド) の実行方法はほかにもいくつかありますので、
状況などに応じて使い分けてください。
例えば、カレントディレクトリを /etc/postfix
にしている場合は
make
を打ったほうがタイプ数が少ないです。
# cd /etc/postfix
# vi virtual_alias
…virtual_alias を更新…
# make
make[1]: Entering directory `/etc/postfix'
/usr/sbin/postmap virtual_alias
make[1]: Leaving directory `/etc/postfix'
最後にもう一歩。DB ファイルの参照を /etc/postfix/main.cf
に追加したとき、
自動的に追随するようにしてみました。
私は実際に利用していますが、うまく動いているようです。
main.cf
以外の master.cf
などで参照している *.db
に対応していないのが課題です。
ところで、12月25日はクリスマスな上に、
OSS 界隈で地味に活躍されているふみやすさんの誕生日ですね!
っ http://www.amazon.co.jp/registry/wishlist/27M7TV8CEEF6G?sort=priority
逆に、あなたの書いた OSS や Blog や Advent Calendar が気に入ったら何か送りたく なってしまうかもしれないので、プロフィールや Web サイトに あなたの Amazon 欲しいものリストの URL を貼っておいてくださいね!
私が勤める OSSTech っていう某弊社で社員募集しているようです。 人材紹介会社を介さなければ、入社後に 20万円のボーナス! 「ふみやすっていう人に紹介された」と言ってもらえると私にもボーナス!! → https://www.osstech.co.jp/recruit/
よろしければ、これまで参加した/参加予定のほかの Advent Calendar もどうぞ。
- Ansible Advent Calendar 2023
- シェル芸 Advent Calendar 2023
- 闇の魔術に対する防衛術 Advent Calendar 2023
- Ansible Advent Calendar 2023
- Ansible Advent Calendar 2020
- DNS温泉 Advent Calendar 2019
- OSSTech Advent Calendar 2019
- Ansible Advent Calendar 2018
- OSSTech Advent Calendar 2018
- Debian/Ubuntu Advent Calendar 2017
- Linux Advent Calendar 2017
- Shell Script Advent Calendar 2017
- Shell Script Advent Calendar 2016
- OpenLDAP と仲間たち Advent Calendar 2015
- Postfix Advent Calendar 2014
- 拡張 POSIX シェルスクリプト Advent Calendar 2013