如何通过脚本自动化MinIO安装

816
2025/3/8 15:32:20
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

要通过脚本自动化MinIO安装,您可以使用Shell脚本或Python脚本来完成。以下是两种语言的脚本示例:

Shell脚本示例

#!/bin/bash
# 检查是否以 root 用户运行
if [ "$EUID" -ne 0 ]; then
    echo "请以 root 用户运行此脚本。"
    exit 1
fi

# 安装必要的依赖
echo "安装依赖..."
apt-get update && apt-get install -y wget || yum install -y wget

# 定义 MinIO 版本和安装路径
MINIO_VERSION="RELEASE.2023-09-19T21-14-04Z"
MINIO_URL="https://dl.min.io/server/minio/release/linux-amd64/archive/minio.${MINIO_VERSION}"

# 创建 MinIO 安装目录
mkdir -p /usr/local/bin

# 下载并安装 MinIO
echo "下载并安装 MinIO..."
wget -q -O /usr/local/bin/minio $MINIO_URL
chmod +x /usr/local/bin/minio

# 创建 MinIO 数据目录
mkdir -p /usr/local/share/minio

# 设置环境变量
ACCESS_KEY="minioadmin"
SECRET_KEY="minioadmin"

# 创建 MinIO systemd service 文件
cat <<EOL > /etc/systemd/system/minio.service
[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target

[Service]
User=root
Group=root
Environment="MINIO_ACCESS_KEY=${ACCESS_KEY}"
Environment="MINIO_SECRET_KEY=${SECRET_KEY}"
ExecStart=/usr/local/bin/minio server /usr/local/share/minio
Restart=always

EOL

# 重新加载 systemd 配置并启动 MinIO 服务
systemctl daemon-reload
systemctl start minio
systemctl enable minio

Python脚本示例

import os
import subprocess

# 检查是否以 root 用户运行
if os.geteuid() != 0:
    print("请以 root 用户运行此脚本。")
    exit(1)

# 安装必要的依赖
subprocess.run(["apt-get", "update"] + (["yum", "install", "-y", "wget"] if os.path.exists("/etc/yum.repos.d/CentOS-Base.repo") else ["yum", "install", "-y", "wget"]))

# 定义 MinIO 版本和安装路径
minio_version = "RELEASE.2023-09-19T21-14-04Z"
minio_url = f"https://dl.min.io/server/minio/release/linux-amd64/archive/minio.{minio_version}"

# 创建 MinIO 安装目录
os.makedirs("/usr/local/bin", exist_ok=True)

# 下载并安装 MinIO
subprocess.run(["wget", "-q", "-O", "/usr/local/bin/minio", minio_url])
os.chmod("/usr/local/bin/minio", 0o755)

# 创建 MinIO 数据目录
os.makedirs("/usr/local/share/minio", exist_ok=True)

# 设置环境变量
access_key = "minioadmin"
secret_key = "minioadmin"

# 创建 MinIO systemd service 文件
with open("/etc/systemd/system/minio.service", "w") as f:
    f.write("""[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target

[Service]
User=root
Group=root
Environment="MINIO_ACCESS_KEY=%s"
Environment="MINIO_SECRET_KEY=%s"
ExecStart=/usr/local/bin/minio server /usr/local/share/minio
Restart=always
""" % (access_key, secret_key))

# 重新加载 systemd 配置并启动 MinIO 服务
subprocess.run(["systemctl", "daemon-reload"])
subprocess.run(["systemctl", "start", "minio"])
subprocess.run(["systemctl", "enable", "minio"])

请注意,这些脚本假设您正在使用基于Debian的系统(如Ubuntu)或基于Red Hat的系统(如CentOS)。如果您使用的是其他Linux发行版,可能需要调整依赖安装部分。此外,确保在运行脚本之前已经安装了必要的权限和工具。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: linux下怎么配置jdk环境变量