linux

Linux MinIO安装脚本分享

小樊
48
2025-04-03 16:15:27
栏目: 智能运维

MinIO 是一个高性能的对象存储服务器,兼容 Amazon S3 接口,用 Go 语言编写,适用于大规模数据存储和处理。以下是 Linux MinIO 安装脚本的分享:

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
systemctl daemon-reload
systemctl start minio
systemctl enable minio

Python 脚本

由于 Python 脚本通常用于更复杂的自动化任务,这里提供一个简单的 Python 脚本示例,用于安装 MinIO:

import os
import subprocess

def install_minio():
    # 检查是否以 root 用户运行
    if os.geteuid() != 0:
        print("请以 root 用户运行此脚本。")
        return
    # 安装必要的依赖
    print("安装依赖...")
    subprocess.run(['apt-get', 'update'] + (['yum', 'install', '-y', 'wget'] if os.pathsep(os.environ.get('yum', 'yum')) else []))
    # 定义 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 安装目录
    subprocess.run(['mkdir', '-p', '/usr/local/bin'])
    # 下载并安装 MinIO
    print("下载并安装 MinIO...")
    subprocess.run(['wget', '-q', '-O', '/usr/local/bin/minio', minio_url])
    subprocess.run(['chmod', '+x', '/usr/local/bin/minio'])
    # 创建 MinIO 数据目录
    subprocess.run(['mkdir', '-p', '/usr/local/share/minio'])
    # 设置环境变量
    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=${ACCESS_KEY}"
Environment="MINIO_SECRET_KEY=${SECRET_KEY}"
ExecStart=/usr/local/bin/minio server /usr/local/share/minio
Restart=always
""")
    subprocess.run(['systemctl', 'daemon-reload'])
    subprocess.run(['systemctl', 'start', 'minio'])
    subprocess.run(['systemctl', 'enable', 'minio'])

if __name__ == "__main__":
    install_minio()

请注意,上述脚本中的 ACCESS_KEYSECRET_KEY 设置为 minioadmin,在实际生产环境中,您应该使用更复杂且随机的密钥来提高安全性。此外,根据您的具体需求和环境,您可能需要对脚本进行相应的调整。

0
看了该问题的人还看了