良许Linux教程网 干货合集 Linux下rabbitmq启动脚本

Linux下rabbitmq启动脚本

本篇文章为大家分享一下Linux下rabbitmq启动脚本,使用脚本可以更加方便的管理服务器,有需要的小伙伴可以参考一下。

Linux下rabbitmq启动脚本

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

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

如下图:

RabbitMQ启动脚本
RabbitMQ启动脚本
#!/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

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

img
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

邮箱地址不会被公开。 必填项已用*标注

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部