minio如何通过命令设置生命周期

minio如何通过命令设置生命周期

MinIO 社区版(CE)虽然没有 Web UI 的 Lifecycle 选项,但可以使用 mc(MinIO Client) 来手动管理生命周期规则。以下是 具体步骤


步骤 1:配置 mc 客户端

如果还没有安装 mc,请先下载并安装:

1
2
3
4
5
6
7
# Linux/macOS
curl -O https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
sudo mv mc /usr/local/bin/

# Windows(使用 PowerShell)
Invoke-WebRequest https://dl.min.io/client/mc/release/windows-amd64/mc.exe -OutFile mc.exe

然后配置 MinIO 连接:其中 <access-key> <secret-key> 是你的 MINIO_ROOT_USER 和 MINIO_ROOT_PASSWORD 环境参数

1
mc alias set myminio http://<minio-server>:9000 <access-key> <secret-key>

例如:

1
mc alias set myminio http://127.0.0.1:9000 minioadmin minioadmin

验证连接是否成功:

1
mc alias list

如果成功,会列出 myminio 及其 URL。


步骤 2:创建生命周期规则

假设你想让 mybucket 里的 /logs/ 目录下的文件 7 天后自动删除

运行以下命令:

1
2
3
mc ilm rule add myminio/mybucket \
--expire-days 7 \
--prefix "logs/"

其中:

  • myminio/mybucket:指定 MinIO 存储桶(Bucket)。
  • --expire-days 7:表示 7 天后自动删除对象。
  • --prefix "logs/":仅对 logs/ 目录下的文件生效,若对所有文件有效,请填空字符串。

步骤 3:验证 Lifecycle 规则

查看 mybucket 当前的生命周期规则:

1
mc ilm ls myminio/mybucket

输出示例:

1
2
3
ID       | Prefix | Expiration | Transition 
---------|--------|-----------|-----------
abc123 | logs/ | 7 days | -

步骤 4:删除生命周期规则

如果需要删除某个规则(假设 IDabc123),使用:

1
mc ilm rm myminio/mybucket --id abc123

步骤 5:完整生命周期策略(适用于多个规则)

如果要为 MinIO 手动创建一个完整的 Lifecycle 规则,可以使用 JSON 文件:

  1. 创建 lifecycle.json 文件

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    {
    "Rules": [
    {
    "ID": "DeleteLogsAfter7Days",
    "Status": "Enabled",
    "Prefix": "logs/",
    "Expiration": {
    "Days": 7
    }
    },
    {
    "ID": "DeleteTmpAfter30Days",
    "Status": "Enabled",
    "Prefix": "tmp/",
    "Expiration": {
    "Days": 30
    }
    }
    ]
    }
  2. 应用生命周期策略

    1
    mc ilm import myminio/mybucket --config lifecycle.json

总结

  • mc ilm rule add 用于快速添加简单的生命周期规则。
  • mc ilm import 适用于复杂的多规则配置。
  • mc ilm ls 用于查看当前存储桶的生命周期策略。
  • mc ilm rm 可用于删除某条规则。

这样,即使 MinIO Web UI 没有 Lifecycle 选项,你仍然可以通过 mc 轻松管理自动删除规则!🚀


minio如何通过命令设置生命周期
http://eevann.cn/2025/01/12/minio-lifecycle/
作者
月下独白
发布于
2025年1月13日
许可协议