89ou 发表于 2012-11-16 09:08:05

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里找到
脚本内容如下

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 <<EOF

start      - start zabbix_server
stop       - stop zabbix_server
restart    - restart zabbix_server if running by sending a SIGHUP or start if not running
help       - this screen

EOF

    ERROR=2
    ;;

    esac

done

exit $ERROR


#############################################################################################




zabbix_agentd:

#!/bin/sh
#
# zabbix_agentd_ctl
#
# control script to stop/start/restart zabbix_agentd
# 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_agentd could not be started
#        4 - zabbix_agentd could not be stopped
#        5 - zabbix_agentd could not be started during a restart
#        6 - zabbix_agentd 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 (as of 1.0 beta 10)
PIDFILE=/var/tmp/zabbix_agentd.pid
# binary file
ZABBIX_AGENTD=$BASEDIR/sbin/zabbix_agentd


# **************
# 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_agentd (pid $PID) running"
                RUNNING=1                       
          else
                STATUS="zabbix_agentd (pid $PID?) not running"
                RUNNING=0                       
          fi
    else
          STATUS="zabbix_agentd (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_agentd (pid $PID) already running"
          continue
        fi
        if $ZABBIX_AGENTD ; then
          echo "$0 $ARG: zabbix_agentd started"
        else
          echo "$0 $ARG: zabbix_agentd 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_agentd process(es) stopped"
          else
                echo "$0 $ARG: zabbix_agentd process(es) could not be stopped"
                ERROR=4
          fi
        ;;

        restart)
        if [ $RUNNING -eq 0 ]; then
          echo "$0 $ARG: zabbix_agentd not running, trying to start"
          if $ZABBIX_AGENTD ; then
                  echo "$0 $ARG: zabbix_agentd started"
          else
                  echo "$0 $ARG: zabbix_agentd could not be started"
                        ERROR=5
          fi
        else
          if kill $PID ; then
                  if $ZABBIX_AGENTD ; then
                    echo "$0 $ARG: zabbix_agentd restarted"
                        else
                                echo "$0 $ARG: zabbix_agentd could not be started"
                                ERROR=3
                        fi
                else
                  echo "$0 $ARG: zabbix_agentd could not be restarted"
                  ERROR=6
                fi          
    fi               
        ;;

        *)            
       
        echo "usage: $0 (start|stop|restart|help)"
        cat <<EOF

start      - start zabbix_agentd
stop       - stop zabbix_agentd
restart    - restart zabbix_agentd if running by sending a SIGHUP or start if not running
help       - this screen

EOF

    ERROR=2
    ;;

    esac

done

exit $ERROR

89ou 发表于 2012-11-16 09:08:17

{:6_406:}{:6_406:}

缘来路过 发表于 2013-5-15 17:21:06

漏洞与补丁齐飞,蓝屏共死机一色!

linghaiyan 发表于 2013-5-16 08:48:54

俺从不写措字,但俺写通假字!

waid 发表于 2013-5-17 03:59:45

学习了,谢谢分享、、、

阿使得肌肤· 发表于 2013-5-18 00:01:15

我在马路边丢了一分钱

赤色烙印 发表于 2013-5-18 17:39:07

找不到恐龙,就用蜥蜴顶
页: [1]
查看完整版本: zabbix2.0.3做成service