• RabbitMQ系列之【centos6 服务开启自启脚本】


    #!/bin/sh
    #
    # rabbitmq-server RabbitMQ broker
    #
    # chkconfig: - 80 05
    # description: Enable AMQP service provided by RabbitMQ
    #

    ### BEGIN INIT INFO
    # Provides: rabbitmq-server
    # Required-Start: $remote_fs $network
    # Required-Stop: $remote_fs $network
    # Description: RabbitMQ broker
    # Short-Description: Enable AMQP service provided by RabbitMQ broker
    ### END INIT INFO

    # Source function library.
    . /etc/init.d/functions
    export HOME=/root
    PATH=/sbin:/usr/sbin:/bin:/usr/bin
    NAME=rabbitmq-server
    DAEMON=/usr/local/rabbitmq/sbin/${NAME}
    CONTROL=/usr/local/rabbitmq/sbin/rabbitmqctl
    DESC=rabbitmq-server
    USER=root
    ROTATE_SUFFIX=
    INIT_LOG_DIR=/var/log/rabbitmq
    PID_FILE=/var/run/rabbitmq.pid

    START_PROG="daemon"
    LOCK_FILE=/var/lock/subsys/$NAME

    test -x $DAEMON || exit 0
    test -x $CONTROL || exit 0

    RETVAL=0
    set -e

    [ -f /etc/default/${NAME} ] && . /etc/default/${NAME}

    start_rabbitmq () {
    status_rabbitmq quiet
    if [ $RETVAL = 0 ] ; then
    echo RabbitMQ is currently running
    else
    RETVAL=0
    set +e
    RABBITMQ_PID_FILE=$PID_FILE $START_PROG $DAEMON
    > "${INIT_LOG_DIR}/startup_log"
    2> "${INIT_LOG_DIR}/startup_err"
    0<&- &
    $CONTROL wait $PID_FILE >/dev/null 2>&1
    RETVAL=$?
    set -e
    case "$RETVAL" in
    0)
    echo SUCCESS
    if [ -n "$LOCK_FILE" ] ; then
    touch $LOCK_FILE
    fi
    ;;
    *)
    echo FAILED - check ${INIT_LOG_DIR}/startup_{log, _err}
    RETVAL=1
    ;;
    esac
    fi
    }

    stop_rabbitmq () {
    status_rabbitmq quiet
    if [ $RETVAL = 0 ] ; then
    set +e
    $CONTROL stop ${PID_FILE} > ${INIT_LOG_DIR}/shutdown_log 2> ${INIT_LOG_DIR}/shutdown_err
    RETVAL=$?
    set -e
    if [ $RETVAL = 0 ] ; then
    if [ -n "$LOCK_FILE" ] ; then
    rm -f $LOCK_FILE
    fi
    else
    echo FAILED - check ${INIT_LOG_DIR}/shutdown_log, _err
    fi
    else
    echo RabbitMQ is not running
    RETVAL=0
    fi
    }

    status_rabbitmq() {
    set +e
    if [ "$1" != "quiet" ] ; then
    $CONTROL status 2>&1
    else
    $CONTROL status > /dev/null 2>&1
    fi
    if [ $? != 0 ] ; then
    RETVAL=3
    fi
    set -e
    }

    rotate_logs_rabbitmq() {
    set +e
    $CONTROL rotate_logs ${ROTATE_SUFFIX}
    if [ $? != 0 ] ; then
    RETVAL=1
    fi
    set -e
    }

    restart_running_rabbitmq () {
    status_rabbitmq quiet
    if [ $RETVAL = 0 ] ; then
    restart_rabbitmq
    else
    echo RabbitMQ is not runnning
    RETVAL=0
    fi
    }

    restart_rabbitmq() {
    stop_rabbitmq
    start_rabbitmq
    }

    case "$1" in
    start)
    echo -n "Starting $DESC: "
    start_rabbitmq
    echo "$NAME."
    ;;
    stop)
    echo -n "Stopping $DESC: "
    stop_rabbitmq
    echo "$NAME."
    ;;
    status)
    status_rabbitmq
    ;;
    rotate-logs)
    echo -n "Rotating log files for $DESC: "
    rotate_logs_rabbitmq
    ;;
    force-reload|reload|restart)
    echo -n "Restarting $DESC: "
    restart_rabbitmq
    echo "$NAME."
    ;;
    try-restart)
    echo -n "Restarting $DESC: "
    restart_running_rabbitmq
    echo "$NAME."
    ;;
    *)
    echo "Usage: $0 {start|stop|status|rotate-logs|restart|condrestart|try-restart|reload|force-reload}" >&2
    RETVAL=1
    ;;
    esac

    exit $RETVAL

  • 相关阅读:
    Effective C++学习笔记:确定基类有虚析构函数
    WPF和Silverlight程序中DispatcherTimer与Timer的区别
    2011.12.23
    WP7里的JSON解析
    2011.11.16
    2011.12.21
    2011.11.18
    2011.11.17
    2011.11.24
    WebClient does not support concurrent I/O operations 错误的解决办法
  • 原文地址:https://www.cnblogs.com/feixiablog/p/8317617.html
Copyright © 2020-2023  润新知