栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

RabbitMQ启动脚本

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

RabbitMQ启动脚本

记录一个rabbitmq启动脚本,修改部分参数即可用。

    vi /etc/init.d/rabbitmq-server #脚本内容,见图下,需修改参数
    chmod +x /etc/init.d/rabbitmq-server
    chkconfig --add rabbitmq-server
    chkconfig rabbitmq-server on

如下图:

    #!/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
    
    
    PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/erlang/bin
    NAME=rabbitmq-server
    DAEMON=/usr/sbin/${NAME}
    ConTROL=/usr/sbin/rabbitmqctl
    DESC=rabbitmq-server
    USER=rabbitmq
    ROTATE_SUFFIX=
    INIT_LOG_DIR=/usr/local/rabbitmq/var/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}
    
    
    [ -f /etc/sysconfig/${NAME} ] && . /etc/sysconfig/${NAME}
    
    
    ensure_pid_dir () {
        PID_DIR=`dirname ${PID_FILE}`
        if [ ! -d ${PID_DIR} ] ; then
            mkdir -p ${PID_DIR}
            chown -R ${USER}:${USER} ${PID_DIR}
            chmod 755 ${PID_DIR}
        fi
    }
    
    
    remove_pid () {
        rm -f ${PID_FILE}
        rmdir `dirname ${PID_FILE}` || :
    }
    
    
    start_rabbitmq () {
        status_rabbitmq quiet
        if [ $RETVAL = 0 ] ; then
            echo RabbitMQ is currently running
        else
            RETVAL=0
            # RABBIT_NOFILES_LIMIT from /etc/sysconfig/rabbitmq-server is not handled
            # automatically
            if [ "$RABBITMQ_NOFILES_LIMIT" ]; then
                    ulimit -n $RABBITMQ_NOFILES_LIMIT
            fi
    
    
            ensure_pid_dir
            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
                    ;;
                *)
                    remove_pid
                    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
                remove_pid
                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
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/10318.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号