ewrQ 发表于 2015-2-26 08:50:06

zabbix启动脚本

zabbix_server_ctl
#!/bin/sh
#
# zabbix_server_ctl startup script for zabbix server
#
# chkconfig: 345 95 95
# description: zabbix_server
#
# 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=/usr/local/zabbix-2.4.4
# PID file
PIDFILE=/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_ctl
#!/bin/sh
#
# zabbix_agentd_ctl startup script for zabbix agentd
#
# chkconfig: 345 95 95
# description: zabbix_agentd
#
# 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=/usr/local/zabbix-2.4.4
# pid file (as of 1.0 beta 10)
PIDFILE=/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





页: [1]
查看完整版本: zabbix启动脚本