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 服务器,并检查服务器是否启动成功。
评论区