RabbitMQ開機(jī)自啟動(dòng)腳本

一、腳本創(chuàng)建

/etc/init.d/ 目錄下新建一個(gè) rabbitmq?文件,復(fù)制下面的腳本內(nèi)容并添加到文件里。

chmod 777 文件名 加執(zhí)行權(quán)限的話是chmod +x 文件名:

chmod 777 /etc/init.d/rabbitmq

chmod +x?/etc/init.d/rabbitmq

chmod u+x /etc/init.d/rabbitmq

創(chuàng)建自啟服務(wù):

chkconfig?--add rabbitmq

設(shè)置開機(jī)自啟:

chkconfig rabbitmq on

關(guān)閉開機(jī)自啟:

chkconfig rabbitmq off

查看開機(jī)自啟項(xiàng)目:

chkconfig --list

啟動(dòng)測(cè)試:

service?rabbitmq start


二、腳本內(nèi)容(注意加粗字體)

#!/bin/sh

# chkconfig: 2345 10 90

# 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:/usr/local/erlang/bin

NAME=rabbitmq-server

#DAEMON=/usr/sbin/${NAME}

#CONTROL=/usr/sbin/rabbitmqctl

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}

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

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容