sdfsdnfslk 发表于 2019-1-19 12:07:39

zabbix2.0.3做成service

zabbix2.0.3没有现成的centos可用的service脚本,但是2.0.0有,下载2.0.0的脚本。
在源码包的zabbix-1.8.15\misc\init.d 路径下的redhat里。
复制到/etc/init.d目录下。
修改脚本里的变量:BASEDIR和PIDFILE 的值。可以在zabbix/etc/zabbix_agentd.conf和zabbix_server.conf里找到
并且分别加上这两行(用来添加到服务列表),
# chkconfig: - 85 15
# description:zabbix_agentd added by chc
或#description:zabbix_server added by chc
改完之后
shell> chkconfig --add zabbix_server
shell> chkconfig --add zabbix_agentd





脚本内容如下


zabbix_server:


#!/bin/sh
#
# zabbix_server_ctl
#
# control script to stop/start/restart zabbix_server
# author: charlie collins
# date: 01.21.2002
#
# revised 09.21.2003
# (setup for Red Hat 7.3 with Zabbix 1.0 beta)
# (should work for other Red Hat and Sys V style init machines as well)
#
# (modeled after apache style control scripts)
# (this script can be placed in init.d and respective runlevel for startup usage)
#
#
# The exit codes returned are:
#0 - operation completed successfully
#1 -
#2 - usage error
#3 - zabbix_server could not be started
#4 - zabbix_server could not be stopped
#5 - zabbix_server could not be started during a restart
#6 - zabbix_server could not be restarted during a restart
#
#
#


# **************
# config options
# **************
#
# (set config options to match your system settings)


# base zabbix dir
BASEDIR=/opt/zabbix
# PID file
PIDFILE=/var/tmp/zabbix_server.pid
# binary file
ZABBIX_SUCKERD=$BASEDIR/sbin/zabbix_server




# **************
# logic section (below here) does NOT normally need any modification
# **************


# establish args
ERROR=0
ARGV="$@"
if [ "x$ARGV" = "x" ] ; then
    ARGS="help"
fi




# perform action based on args
for ARG in $@ $ARGS
do
# check if PIDFILE exists and ensure is not zero size and react accordingly
if [ -f $PIDFILE] && [ -s $PIDFILE ] ; then
    PID=`cat $PIDFILE`
if [ "x$PID" != "x" ] && kill -0 $PID 2>/dev/null ; then
      STATUS="zabbix_server (pid $PID) running"
      RUNNING=1
    else
      STATUS="zabbix_server (pid $PID?) not running"
      RUNNING=0
    fi
    else
    STATUS="zabbix_server (no pid file) not running"
    RUNNING=0
    fi

# parse arg and react accordingly
    case $ARG in
   
start)
if [ $RUNNING -eq 1 ]; then
    echo "$0 $ARG: zabbix_server (pid $PID) already running"
    continue
fi
if $ZABBIX_SUCKERD ; then
    echo "$0 $ARG: zabbix_server started"
else
    echo "$0 $ARG: zabbix_server could not be started"
    ERROR=3
fi
;;
   
stop)
if [ $RUNNING -eq 0 ]; then
    echo "stop called - in running eq 0"
echo "$0 $ARG: $STATUS"
    continue
fi
if kill $PID ; then
echo "$0 $ARG: zabbix_server process(es) stopped"
    else
      echo "$0 $ARG: zabbix_server process(es) could not be stopped"
      ERROR=4
    fi
;;
   
restart)
if [ $RUNNING -eq 0 ]; then
    echo "$0 $ARG: zabbix_server not running, trying to start"
    if $ZABBIX_SUCKERD ; then
    echo "$0 $ARG: zabbix_server started"
    else
    echo "$0 $ARG: zabbix_server could not be started"
ERROR=5
    fi
else
    if kill $PID ; then
    if $ZABBIX_SUCKERD ; then
            echo "$0 $ARG: zabbix_server restarted"
else
echo "$0 $ARG: zabbix_server could not be started"
ERROR=3
fi
else
    echo "$0 $ARG: zabbix_server could not be restarted"
    ERROR=6
fi   
    fi
;;
   
*)            

echo "usage: $0 (start|stop|restart|help)"
cat
页: [1]
查看完整版本: zabbix2.0.3做成service