summaryrefslogtreecommitdiffstats
path: root/network/zabbix_agent2/rc.zabbix_agent2
diff options
context:
space:
mode:
Diffstat (limited to 'network/zabbix_agent2/rc.zabbix_agent2')
-rw-r--r--network/zabbix_agent2/rc.zabbix_agent278
1 files changed, 78 insertions, 0 deletions
diff --git a/network/zabbix_agent2/rc.zabbix_agent2 b/network/zabbix_agent2/rc.zabbix_agent2
new file mode 100644
index 0000000000..842014dfe8
--- /dev/null
+++ b/network/zabbix_agent2/rc.zabbix_agent2
@@ -0,0 +1,78 @@
+#!/bin/sh
+
+# Usage: ./rc.zabbix_agent2 {start|stop|restart}
+
+PRGNAM=zabbix_agent2
+PRGDIR=/usr/sbin/
+PIDDIR=/var/run/zabbixagent/
+LOGDIR=/var/log/zabbix/
+DATE=$(date +%a\ %b\ %d\ %T\ %Y)
+RETVAL=0
+
+prg_start() {
+ echo -n "Starting $PRGNAM ... "
+ if [ -r ${PIDDIR}${PRGNAM}.pid ]; then
+ if $(! /sbin/pidof $PRGNAM > /dev/null 2>&1 ) ; then
+ echo "Removing an old ${PIDDIR}${PRGNAM}.pid"
+ rm -f ${PIDDIR}${PRGNAM}.pid
+ fi
+ fi
+ mkdir -p ${PIDDIR}
+ su -s /bin/sh -c "${PRGDIR}${PRGNAM} >> ${LOGDIR}${PRGNAM}.log 2>&1 &" @ZABBIXAGENTUSER@
+ RETVAL=$?
+
+ if [ $RETVAL -eq 0 ]; then
+ touch /var/lock/$PRGNAM
+ sleep 2
+ echo "done"
+ else
+ echo "failed"
+ fi
+ return $RETVAL
+}
+
+prg_stop() {
+ echo -n "Stopping $PRGNAM ... "
+ if [ -r ${PIDDIR}${PRGNAM}.pid ]; then
+ killall $PRGNAM
+ # Give it some time to die gracefully
+ for second in 0 1 2 3 4 5 6 7 8 9 10 ; do
+ if $(! /sbin/pidof $PRGNAM > /dev/null 2>&1 ) ; then
+ rm -f ${PIDDIR}${PRGNAM}.pid
+ break;
+ fi
+ sleep 1
+ done
+
+ if [ "$second" = "10" ]; then
+ echo "\nWARNING: $PRGNAM did not exit!"
+ sleep 10
+ else
+ echo "$DATE EXIT: $PRGNAM stopped by user: $USER (UID: $EUID)" >> ${LOGDIR}${PRGNAM}.log
+ echo "done"
+ fi
+ fi
+ rm -f /var/lock/$PRGNAM
+ return $RETVAL
+}
+
+# How were we called:
+case "$1" in
+ start)
+ prg_start
+ ;;
+ stop)
+ prg_stop
+ ;;
+ restart|reload)
+ prg_stop
+ # Wait a few seconds before restarting
+ sleep 10
+ prg_start
+ ;;
+ *)
+ echo "Usage: $(basename $0) {start|stop|restart}"
+ RETVAL=1
+esac
+
+#EOF