#!/bin/sh
#
# chkconfig: - 85 15
# description: ZABBIX server daemon
# config: /etc/zabbix/zabbix_server.conf
# config: /etc/sysconfig/zabbix
#

### BEGIN INIT INFO
# Provides: zabbix
# Required-Start: $local_fs $network
# Required-Stop: $local_fs $network
# Default-Start:
# Default-Stop: 0 1 2 3 4 5 6
# Short-Description: Start and stop ZABBIX server
# Description: ZABBIX server
### END INIT INFO

if [ -f /etc/sysconfig/zabbix ]; then
        . /etc/sysconfig/zabbix
fi

case "$ZABBIX_SERVER_DB" in
  mysql)
        if [ -x /usr/sbin/zabbix_server_mysql ]; then
            exec=zabbix_server_mysql
        else
            exit 5
        fi
        ;;
  pgsql)
        if [ -x /usr/sbin/zabbix_server_pgsql ]; then
            exec=zabbix_server_pgsql
        else
            exit 5
        fi
        ;;
  sqlite3)
        if [ -x /usr/sbin/zabbix_server_sqlite3 ]; then
            exec=zabbix_server_sqlite3
        else
            exit 5
        fi
        ;;
  *)
        echo "[CHECK] Set ZABBIX_SERVER_DB in /etc/sysconfig/zabbix using DB backend."
        exit 5
esac

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

prog=${exec##*/}
lockfile=/var/lock/subsys/zabbix

start()
{
    echo -n $"Starting ZABBIX server: "
    daemon $exec
    rv=$?
    echo
    [ $rv -eq 0 ] && touch $lockfile
    return $rv
}

stop()
{
    echo -n $"Shutting down ZABBIX server: "
    killproc $prog
    rv=$?
    echo
    [ $rv -eq 0 ] && rm -f $lockfile
    return $rv
}

restart()
{
    stop
    start
}

case "$1" in
    start|stop|restart)
        $1
        ;;
    force-reload)
        restart
        ;;
    status)
        status $prog
        ;;
    try-restart|condrestart)
        if status $prog >/dev/null ; then
            restart
        fi
        ;;
    reload)
        action $"Service ${0##*/} does not support the reload action: " /bin/false
        exit 3
        ;;
    *)
	echo $"Usage: $0 {start|stop|status|restart|try-restart|force-reload}"
	exit 2
	;;
esac

