daemontools は qmail の作者 D.J.B. によるツール群のひとつです。
デーモンが不意に終了してしまった場合も、
自動的に立ち上げ直してくれるので安心です。
daemontools のインストールと基本的な使い方については、
daemontools によるプロセス監視を
ご覧下さい。
ここでは、話を qmail に特化して、スクリプトの具体例などをあげます。
qmail は /var/qmail にインストールしてあるとして、
以下に出て来るディレクトリは /var/qmail/supervise の下にあるとします。
また、ログは multilog で取ることにします。
qmail-start
qmail/run
#!/bin/sh
#
# qmail/run : qmail-start starting script
#
exec env - PATH="/var/qmail/bin:$PATH" \
qmail-start ./Maildir/
|
qmail/log/run
# chwon -p /var/qmail/supervise/qmail/log/main
# chown -R qmaill:qnofiles /var/qmail/supervise/qmail/log
|
#!/bin/sh
#
# qmail/log/run : qmail-start log starting script
#
exec env - PATH="/var/qmail/bin:/usr/local/bin:$PATH" \
setuidgid qmaill \
multilog t ./main -'*' +'* status: *' =status
|
最後の行は、全てのログを ./main 以下に、
status という文字列にマッチした場合は、
qmail/log/status に出力を保存する設定です。
qmail-smtpd
qmail-smtpd/run
qmail-smtpd を tcpserver 経由で起動することによってアクセス制御をし、
アクセス制御ファイルが /etc/tcp.smtp.cdb である場合です。
#!/bin/sh
#
# qmail-smtpd/run : qmail-smtpd starting script
#
exec env - PATH="/var/qmail/bin:/usr/local/bin:$PATH" \
tcpserer -HR -v -u 82 -g 81 -x /etc/tcp.smtp.cdb 0 \
smtp qmail-smtpd 2>&1
|
-u 82 -g 81 はユーザ qmaild のユーザ ID 番号と
グループ(qnofiles) ID 番号です。
ports でインストールすると上記の番号になっています。
qmail-smtpd/log/run
# chwon -p /var/qmail/supervise/qmail/log/main
|
#!/bin/sh
#
# qmail-smtpd/log/run : qmail-smtpd log starting script
#
exec env - PATH="/var/qmail/bin:/usr/local/bin:$PATH" \
multilog t ./main -'*' +'* status: *' =status
|
qmail-apop
qmail-apop/run
qmapop を使って APOP 対応にしたものを、
APOP 強制で起動するときのスクリプトです。
#!/bin/sh
#
# qmail-apop/run : qmail-popup with APOP patch starting script
#
exec env - PATH="/var/qmail/bin:/usr/local/bin:$PATH" \
tcpserer -HR 0 pop3 qmail-popup host.name.domain \
checkpassword qmail-pop3d Maildir
|
host.name.domain にはメールサーバのフルネームを入れて下さい。
qmail-apop/log/run
# chwon -p /var/qmail/supervise/qmail/log/main
|
#!/bin/sh
#
# qmail-apop/log/run : qmail-apop log starting script
#
exec env - PATH="/var/qmail/bin:/usr/local/bin:$PATH" \
multilog t ./main -'*' +'* status: *' =status
|
Last modified: Wed Apr 20 16:05:21 JST 2011