--- rpms/zabbix/contribs9/zabbix-agent.init 2020/05/14 03:29:51 1.1 +++ rpms/zabbix/contribs9/zabbix-agent.init 2020/05/14 03:38:46 1.2 @@ -1,67 +1,97 @@ -#! /bin/sh +#!/bin/sh # -# chkconfig: - 85 15 -# description: zabbix agent daemon +# chkconfig: - 86 14 +# description: Zabbix agent daemon +# processname: zabbix_agentd +# config: /etc/zabbix/zabbix_agentd.conf # ### BEGIN INIT INFO # Provides: zabbix-agent # Required-Start: $local_fs $network # Required-Stop: $local_fs $network +# Should-Start: zabbix zabbix-proxy +# Should-Stop: zabbix zabbix-proxy # Default-Start: # Default-Stop: 0 1 2 3 4 5 6 -# Short-Description: start and stop zabbix agent -# Description: Zabbix Agent +# Short-Description: Start and stop Zabbix agent +# Description: Zabbix agent ### END INIT INFO -# zabbix details -ZABBIX_AGENTD=/usr/sbin/zabbix_agentd -CONF=/etc/zabbix/zabbix_agentd.conf -PIDFILE=/var/run/zabbix-agent.pid - # Source function library. . /etc/rc.d/init.d/functions -# Source networking configuration. -. /etc/sysconfig/network - -# Check that networking is up. -[ ${NETWORKING} = "no" ] && exit 0 - -[ -x $ZABBIX_AGENTD ] || exit 5 -[ -e $CONF ] || exit 6 - -RETVAL=0 +if [ -x /usr/sbin/zabbix_agentd ]; then + exec=/usr/sbin/zabbix_agentd +else + exit 5 +fi + +prog=${exec##*/} +conf=/etc/zabbix/zabbix_agentd.conf +pidfile=$(grep -e "^PidFile=.*$" $conf | cut -d= -f2 | tr -d '\r') +timeout=10 + +if [ -f /etc/sysconfig/zabbix-agent ]; then + . /etc/sysconfig/zabbix-agent +fi + +if [ -n "$ZABBIX_AGENT_USER" ]; then + user_conf="--user=$ZABBIX_AGENT_USER" +else + user_conf='' +fi + +lockfile=/var/lock/subsys/zabbix-agent + +start() +{ + echo -n $"Starting Zabbix agent: " + daemon $user_conf $exec -c $conf + rv=$? + echo + [ $rv -eq 0 ] && touch $lockfile + return $rv +} + +stop() +{ + echo -n $"Shutting down Zabbix agent: " + killproc -p $pidfile -d $timeout $prog + rv=$? + echo + [ $rv -eq 0 ] && rm -f $lockfile + return $rv +} + +restart() +{ + stop + start +} case "$1" in - start) - echo -n "Starting zabbix agent: " - daemon $ZABBIX_AGENTD -c $CONF - RETVAL=$? - echo - [ $RETVAL -eq 0 ] && touch /var/lock/subsys/zabbix-agent + start|stop|restart) + $1 ;; - stop) - echo -n "Shutting down zabbix agent: " - killproc zabbix_agentd - RETVAL=$? - echo - [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/zabbix-agent - ;; - restart|reload) - $0 stop - $0 start - RETVAL=$? + force-reload) + restart ;; status) - status zabbix_agentd - RETVAL=$? + status -p $pidfile $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|restart|reload|status}" - exit 1 + echo $"Usage: $0 {start|stop|status|restart|try-restart|force-reload}" + exit 2 ;; esac -exit $RETVAL -