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

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

1)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など)を自環境に合わせて修正
 

2)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の場合は自動起動されるようになりました。
 

3)制御スクリプトの動作確認


 
# 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

関連記事の目次

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です