VPSサーバーでWebサイト公開 備忘録 ~Linux、MySQLからAJAXまで

qmailの制御スクリプトを作成

qmail-send、qmail-smtpd、qmail-pop3dの3つのサービスを起動、停止、再起動、ステータス確認などを実行するコマンドを一つのファイルにまとめた制御スクリプトを作成します。

※目次をクリックすると目次の下部にコンテンツが表示されます。

qmail制御スクリプト作成
制御スクリプトは下記サイトのスクリプトをベースに、自サイトの環境に合わせパスを変更し使用しています。
 
Life with qmail、qmail制御スクリプト
 
この制御スクリプトでは、daemontoolsの”svc”コマンドで各サービスの起動、停止などをい、”svstat”コマンドでステータスの確認を行っています。
 
変更箇所
 
・冒頭のchkconfigの部分
# chkconfig: – 80 30
  ↓
# chkconfig: 2345 99 30
 
・qmail-pop3dの記述を下記のように追加
"start"セクション
    if svok /service/qmail-pop3d ; then
      svc -u /service/qmail-pop3d /service/qmail-pop3d/log
    else
      echo qmail-pop3d supervise not running
    fi
 
"stop"セクション
    echo "  qmail-pop3d"
    svc -d /service/qmail-pop3d /service/qmail-pop3d/log
 
"stat"セクション
    svstat /service/qmail-pop3d
    svstat /service/qmail-pop3d/log
 
"pause"セクション
    echo "Pausing qmail-pop3d"
    svc -p /service/qmail-pop3d
 
"cont"セクション
    echo "Continuing qmail-pop3d"
    svc -c /service/qmail-pop3d
 
"restart"セクション
    echo "* Restarting qmail-pop3d."
    svc -t /service/qmail-pop3d /service/qmail-pop3d/log

 
・各サービスのパス(/service/qmail-sendなど)を自環境に合わせて修正

qmail制御スクリプトをchkconfigで登録
①上記1)で作成したファイルをqmailctlという名前で/etc/init.dに保存。
 
②chkconfigでqmail制御スクリプトを登録
 
# chkconfig –add qmailctl
 
③設定確認
 
# chkconfig --list qmailctl
qmailctl        0:off   1:off   2:on    3:on    4:on    5:on    6:off

これで、ランレベが2,3,4,5の場合は自動起動されるようになりました。

制御スクリプトの動作確認
# service qmailctl stat
/service/qmail: up (pid 30903) 1520 seconds
/service/qmail/log: up (pid 30906) 1520 seconds
/service/smtpd: up (pid 4701) 1 seconds
/service/smtpd/log: up (pid 30905) 1520 seconds
/service/pop3d: up (pid 4699) 1 seconds
/service/pop3d/log: up (pid 30908) 1520 seconds
messages in queue: 0
messages in queue but not yet preprocessed: 0
 
# service qmailctl stop
Stopping qmail...
  qmail-smtpd
  qmail-send
  qmail-pop3d
 
# service qmailctl stat
/service/qmail: down 4 seconds, normally up
/service/qmail/log: down 4 seconds, normally up
/service/smtpd: down 4 seconds, normally up
/service/smtpd/log: down 4 seconds, normally up
/service/pop3d: down 4 seconds, normally up
/service/pop3d/log: down 4 seconds, normally up
messages in queue: 0
messages in queue but not yet preprocessed: 0
 
# service qmailctl start
Starting qmail
 
# service qmailctl stat
/service/qmail: up (pid 4878) 5 seconds
/service/qmail/log: up (pid 4879) 5 seconds
/service/smtpd: up (pid 4907) 1 seconds
/service/smtpd/log: up (pid 4883) 5 seconds
/service/pop3d: up (pid 4906) 1 seconds
/service/pop3d/log: up (pid 4891) 5 seconds
messages in queue: 0
messages in queue but not yet preprocessed: 0
 
# service qmailctl restart
Restarting qmail:
* Stopping qmail-smtpd.
* Sending qmail-send SIGTERM and restarting.
* Restarting qmail-smtpd.
* Restarting qmail-pop3d.
 
# service qmailctl stat
/service/qmail: up (pid 4989) 8 seconds
/service/qmail/log: up (pid 4993) 8 seconds
/service/smtpd: up (pid 5028) 0 seconds
/service/smtpd/log: up (pid 4991) 8 seconds
/service/pop3d: up (pid 5026) 0 seconds
/service/pop3d/log: up (pid 4994) 8 seconds
messages in queue: 0
messages in queue but not yet preprocessed: 0
モバイルバージョンを終了