Newer
Older
mailpiler / init.d / rc.piler.in
@Janos SUTO Janos SUTO on 17 Aug 2020 1 KB Refactored init.d/rc.piler.in
#!/bin/sh
##
##

### BEGIN INIT INFO
# Provides:          piler
# Required-Start:    $remote_fs $syslog $named $network $time mysql
# Required-Stop:     $remote_fs $syslog $named $network mysql
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: piler email archiver
# Description:       piler email archiver
### END INIT INFO


NAME=piler
OPTIONS=""
PID_FILE="$(SBINDIR/pilerconf $OPTIONS -q pidfile | cut -f2 -d=)"
PID_NUMBER="$(test -f "$PID_FILE" && cat "$PID_FILE")"
PILER_SMTP_PID="$(pgrep piler-smtp)"

start() {
   echo "starting piler-smtp . . . "
   SBINDIR/piler-smtp -d

   echo "starting $NAME . . ."
   SBINDIR/piler -d $OPTIONS
}

stop() {
   if [ "$PID_NUMBER" != "" ]; then echo "stopping piler"; kill "$PID_NUMBER"; fi

   if [ "$PILER_SMTP_PID" != "" ]; then echo "stopping piler-smtp"; kill "$PILER_SMTP_PID"; fi
}

check_status(){
        if [ -f "/proc/${PID_NUMBER}/status" ]; then
           echo "piler is running, pid: ${PID_NUMBER}";
        else
           echo "piler is NOT running";
        fi

        if [ "${PILER_SMTP_PID}" != '' ]; then
           echo "piler-smtp is running, pid: ${PILER_SMTP_PID}";
        else
           echo "piler-smtp is NOT running";
        fi
}

case "$1" in
        start)
                start;
        ;;

        stop)
                stop;
        ;;

        status)
                if check_status; then
                   exit 0
                else
                   exit 1
                fi
        ;;

        restart)
                stop;
                sleep 1;
                start;
        ;;

        reload)
                kill -HUP "$PID_NUMBER"
                echo "reloaded"
        ;;

        *)
                echo "Usage: $0 start|stop|restart|reload|status"
        ;;
esac