侧边栏壁纸
  • 累计撰写 208 篇文章
  • 累计创建 16 个标签
  • 累计收到 5 条评论

目 录CONTENT

文章目录

基于shell和python,ubuntu系统安装单节点RabbitMQ脚本

Wake
2022-12-07 / 0 评论 / 1 点赞 / 972 阅读 / 633 字

1.shell脚本如下:

#!/usr/bin/env bash

# 检查用户是否为root
if [[ $(id -u) -ne 0 ]]; then
    echo "This script must be run as root"
    exit 1
fi

# 设置RabitMQ版本号
RABBITMQ_VERSION="3.8.3"

# 更新软件包,安装rabbitmq服务
apt-get update
apt-get install -y wget
wget -O rabbitmq-server.deb https://github.com/rabbitmq/rabbitmq-server/releases/download/v$RABBITMQ_VERSION/rabbitmq-server_$RABBITMQ_VERSION-1_all.deb
dpkg -i rabbitmq-server.deb

# 判断rabbitmq-server是否存在
if [[ ! $(service rabbitmq-server status) =~ "running" ]]; then
    # Start RabbitMQ
    service rabbitmq-server start

    # Check if RabbitMQ was successfully started
    if [[ $(service rabbitmq-server status) =~ "running" ]]; then
        echo "RabbitMQ server started successfully"
    else
        echo "Failed to start RabbitMQ server"
        exit 1
    fi
else
    echo "RabbitMQ server is already running"
fi

脚本详解:

在这个脚本中,首先检查了脚本是否以 root 身份运行,然后设置了 RABBITMQ_VERSION 环境变量,接着更新了包列表并安装了 wget 和 RabbitMQ,接着检查了 RabbitMQ 是否已经在运行,如果没有运行则启动 RabbitMQ 服务器,并检查服务器是否启动成功。

2.python脚本

import os
import subprocess
import sys

def deploy_rabbitmq(version):
    # 设置rabbitmq版本
    os.environ["RABBITMQ_VERSION"] = version

    #  更新软件包,安装rabbitmq服务
    os.system("apt-get update")
    os.system("apt-get install -y wget")
    os.system("wget -O rabbitmq-server.deb https://github.com/rabbitmq/rabbitmq-server/releases/download/v$RABBITMQ_VERSION/rabbitmq-server_$RABBITMQ_VERSION-1_all.deb")
    os.system("dpkg -i rabbitmq-server.deb")

    # 检查rabibitmq服务是否运行
    if not any("rabbitmq" in process for process in subprocess.run(["ps", "-ef"], stdout=subprocess.PIPE).stdout.decode("utf-8").split("\n")):
        # 开启服务
        subprocess.run(["service", "rabbitmq-server", "start"])

        # Check if RabbitMQ was successfully started
        if any("rabbitmq" in process for process in subprocess.run(["ps", "-ef"], stdout=subprocess.PIPE).stdout.decode("utf-8").split("\n")):
            print("RabbitMQ server started successfully")
        else:
            print("Failed to start RabbitMQ server")
            sys.exit(1)
    else:
        print("RabbitMQ server is already running")

if __name__ == "__main__":
    # Parse command line arguments
    import argparse

    parser = argparse.ArgumentParser()
    parser.add_argument("-v", "--version", required=True, help="The version of RabbitMQ to install")
    args = parser.parse_args()

    # Deploy RabbitMQ
    deploy_rabbitmq(args.version)

脚本解释:

在这个脚本中,定义了一个名为 deploy_rabbitmq 的函数,该函数用于在 Ubuntu 系统中安装指定版本的 RabbitMQ。该函数首先设置了 RABBITMQ_VERSION 环境变量,然后更新了包列表并安装了 wget 和 RabbitMQ,接着检查了 RabbitMQ 是否已经在运行,如果没有运行则启动 RabbitMQ 服务器,并检查服务器是否启动成功。

1

评论区