RustFS 修改配置文件开启 Lifecycle 定期清理完整教程

RustFS 修改配置文件开启 Lifecycle 定期清理完整教程

本文档适用于通过修改 /etc/rustfs/rustfs.toml 配置文件,开启 RustFS 全局自动定期清理功能,全程无外部脚本、无需定时任务,服务内置后台自动执行。

核心说明:配置为全局规则,对所有存储桶生效,重启服务即可生效,适合统一全局文件清理策略。

一、编辑 RustFS 主配置文件

提供两种编辑器,新手推荐 nano,熟悉命令行用 vim。

方式1:nano 编辑器(新手友好)

nano /etc/rustfs/rustfs.toml

操作快捷键:

  • 编辑完成后:Ctrl+O 保存,回车确认

  • 退出编辑:Ctrl+X

方式2:vim 编辑器(常用)

vim /etc/rustfs/rustfs.toml

操作步骤:

  • i 进入编辑模式

  • 文末添加生命周期配置

  • Esc,输入 :wq 保存并退出

二、添加 Lifecycle 自动清理配置

在配置文件末尾新增如下配置,可根据业务需求自定义文件保留天数、匹配目录前缀。

# 全局生命周期自动清理规则(所有桶统一生效)
[lifecycle]
rules = [
    # 临时文件目录:7天自动删除
    { prefix = "temp/", days = 7, action = "delete" },
    # 日志文件目录:30天自动删除
    { prefix = "logs/", days = 30, action = "delete" },
    # 全局所有文件:90天自动删除(不需要可注释/删除)
    # { prefix = "", days = 90, action = "delete" },
]

配置参数详解

  • prefix:文件目录前缀,"" 空字符串代表桶内所有文件

  • days:文件创建后存活天数,到期自动执行操作

  • action=delete:核心动作,到期自动删除文件(用于定期清理)

三、校验配置文件语法(必做)

防止 TOML 语法错误导致 RustFS 启动失败,修改后必须执行配置校验。

rustfs --config /etc/rustfs/rustfs.toml check

结果判断:

  • 无任何报错 = 配置合法

  • 提示语法错误 = 修正逗号、换行、字符格式后重新校验

四、重启服务使配置生效

1. Systemd 服务器部署(主流)

# 重启服务
systemctl restart rustfs

# 查看服务运行状态,确认启动成功
systemctl status rustfs

2. Docker 容器部署

docker restart rustfs

五、验证生命周期配置加载成功

通过日志查看规则是否成功加载:

tail -f /var/log/rustfs/rustfs.log | grep lifecycle

出现 loaded lifecycle rules 日志,即代表配置生效。

六、重要注意事项

  1. 生效延迟:Lifecycle 为后台轮询机制,不会实时删除文件,延迟约 10~30 分钟,属于正常现象。

  2. 全局规则限制:该配置对所有桶生效,无法单独为某个桶设置不同清理策略;多业务隔离场景建议使用 rc/mc 客户端单桶配置。

  3. 禁止手动删本地文件:直接操作磁盘数据目录会破坏 RustFS 元数据,导致文件异常、服务报错。

  4. 测试建议:正式使用前可先设置 days=1 测试清理效果,验证无误后再调整为业务所需天数。

  5. 语法避坑:TOML 数组末尾禁止多余逗号、禁止中文标点、严格区分换行格式。

七、补充:关闭全局 Lifecycle 方法

如需关闭全局自动清理,直接注释或删除配置文件中 [lifecycle] 整段内容,保存后重启服务即可。

posted @ 2026-07-10 14:00  南風未起  阅读(23)  评论(0)    收藏  举报