qmailをdaemontoolsで起動するqmailは/var/qmailにインストールしてあることとする。qmailの起動だけでなく、ログ管理も行う。 前提最終的には以下のような2つのrunスクリプトを作ることになる。 /service/qmail/run /service/qmail/log/run 設定用のディレクトリを作るいったん/var/qmail以下に設定を作る。multilogによるログ管理を行わないならlogディレクトリは不要。stickybitの操作も不要。 mkdir -p /var/qmail/service/qmail/log chmod +t /var/qmail/service/qmail/ /service/qmailディレクトリにstickybitを立てることで、superviseコマンドは/service/qmail/runを実行後、/service/qmail/logに移動してそこのrunスクリプトも実行することになる。 runスクリプトを作成する/var/qmail/service/qmali/runqmailの起動スクリプト(/var/qmail/rc)をキックする。 #!/bin/sh PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin exec /var/qmail/rc /var/qmail/service/qmail/log/runsetuidgidでqmaillユーザ権限でログを作る。tはタイムスタンプ行頭につける。ログは勝手にロテートされる。細かく指定したい場合は、http://www.emaillab.org/djb/tools/daemontools/multilog.htmlを参考にする。 #!/bin/sh exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail /var/qmail/rcログ管理はmultilogで行うのでsploggerの指定は省く。 #!/bin/sh exec env - PATH="/var/qmail/bin:$PATH" \ qmail-start ./Mailbox パーミッションの調整などchmod a+x /var/qmail/service/qmail/run chmod a+x /var/qmail/service/qmail/log/run chmod a+x/var/qmail/rc mkdir /var/log/qmail chown qmaill:nofiles /var/log/qmail chmod 700 /var/log/qmail 監視対象に追加/service以下にシムリンクを張る。 ln -s /var/qmail/service/qmail /service/qmail 起動を確認svstat /service/qmail |
|