Dovecot 起動/停止(upstart, sysvinit)

起動/停止(upstart, sysvinit : CentOS6, ScientificLinux6)

・起動スクリプト記述

[root]# vim /etc/rc.d/init.d/dovecot

    #!/bin/sh

    # chkconfig コマンドでサービスの起動・停止を制御
    # chkconfig: 35 88 10  # ランレベル 起動順 停止順
    # description: dovecot の起動・停止

    SERVICE='/usr/local/sbin/dovecot'
    PIDFILE='/usr/local/var/run/dovecot/master.pid'

    if [ ! -x $SERVICE ]; then
        exit 1
    fi

    function start() {
        echo "dovecot start....."
        /usr/local/sbin/dovecot
        RETVAL=$?
    }

    function stop() {
        echo "dovecot stop....."
        kill `cat $PIDFILE`
        rm -v $PIDFILE
        RETVAL=$?
    }

    case "$1" in
        start )
            if [ -e $PIDFILE ];then
                echo "runing dovecot"
            else
                start
            fi
        ;;
        stop )
            if [ -e $PIDFILE ];then
                stop
            else
                echo "not running dovecot"
            fi
        ;;
        restart )
            if [ -e $PIDFILE ];then
                stop
                start
            else
                start
            fi
        ;;
        status )
            if [ -e $PIDFILE ];then
                echo "runing dovecot"
            else
                echo "not runing dovecot"
            fi
        ;;
        * )
            echo "Usage : $0 {start|stop|restart|status}"
            RETVAL=1
        ;;
    esac

    exit $RETVAL
・パーミッション変更

[root]# chmod 755 /etc/rc.d/init.d/dovecot

・起動/停止

[root]# service dovecot { start stop restart status }

PIDFILE(/usr/local/var/run/dovecot/master.pid)が存在すると起動しない

・自動起動/停止

[root]# chkconfig --add dovecot

[root]# chkconfig dovecot { on off }