○ dovecot起動スクリプト

・dovecot-2.2.29.1を自動起動するスクリプトです
・完全コピーしないこと (エラーが出ることあり)
・dovecotサイトのrpmパッケージ(RHEL)を参考にしています

・"#" で始まる行はコメントとして解釈され、"$" の付いた文字は変数を表します
・スクリプトの先頭で, 処理を行うシェルを明示します (#!/bin/bash)
・# chkconfig: の#のあとに半角スペース
・# description: の#のあとに半角スペース
・. /  . はファイルを読み込むコマンド 後に半角スペース
・[ ] はテストコマンドです 半角スペースを忘れないように
・[ = ] テストコマンド内は = の前後に半角スペース
・環境変数等価式=の場合、前後に半角スペースをいれない
・A && B Aが正ならばBを実効
・A || B Aが為ならばBを実効
・$0 はスクリプト本体 $1は 第1引数

○/etc/rc.d/init.d/dovecot

#
#	/etc/rc.d/init.d/dovecot
#
# Starts the dovecot daemon
#
# chkconfig: 235 65 35
# description: Dovecot Imap Server
# processname: dovecot
# config: /etc/dovecot.conf
# config: /etc/sysconfig/dovecot
# pidfile: /var/run/dovecot/master.pid

# Source function library.
. /etc/init.d/functions

if [ -f /etc/sysconfig/dovecot -a $UID -eq 0 ]; then
    . /etc/sysconfig/dovecot
fi

RETVAL=0
prog="Dovecot Imap"
exec="/usr/local/sbin/dovecot"
config="/etc/dovecot/dovecot.conf"
pidfile="/var/run/dovecot/master.pid"
lockfile="/var/lock/subsys/dovecot"

start() {
	[ $UID -eq 0 ] || exit 4
	[ -x $exec ] || exit 5
	[ -f $config ] || exit 6

        echo -n $"Starting $prog: "
	daemon --pidfile $pidfile $exec $OPTIONS
	RETVAL=$?
	[ $RETVAL -eq 0 ] && touch  $lockfile
	echo
}

stop() {
	[ $UID -eq 0 ] || exit 4
	echo -n $"Stopping $prog: "
	killproc -p $pidfile $exec
	RETVAL=$?
	[ $RETVAL -eq 0 ] && rm -f $lockfile
	echo
}

reload() {
	[ $UID -eq 0 ] || exit 4
	echo -n $"Reloading $prog: "
	killproc -p $pidfile $exec -HUP
	RETVAL=$?
	echo
}

#
#	See how we were called.
#
case "$1" in
  start)
	start
	;;
  stop)
	stop
	;;
  reload)
	reload
	;;
  force-reload|restart)
	stop
	sleep 1
	start
	RETVAL=$?
	;;
  condrestart|try-restart)
	if [ -f $lockfile ]; then
	    stop
	    sleep 3
	    start
	fi
	;;
  status)
	status -p $pidfile $exec
	RETVAL=$?
	;;
  *)
	echo $"Usage: $0 {condrestart|try-restart|start|stop|restart|reload|force-reload|status}"
	RETVAL=2
	[ "$1" = 'usage' ] && RETVAL=0
esac

exit $RETVAL

dovecot

○ Copyright(c) 528p.com All Rights Reserved.