批量修改生命周期

最近更新时间: 2025-05-29 10:45:55

关于生命周期

空间的生命周期删除后,删除后上传的文件没有生命周期,但是删除前上传的生命周期默认不会消失!

取消/修改文件生命周期

七牛提供如下解决方案:

  • 七牛工具 qshell 进行批量修改,适用于大量文件、没有目录结构文件,优先推荐使用qshell,windows使用参考这里,windows安装使用教程

  • 官方服务端SDK,使用SDK方法和API修改文件生命周期,不推荐

使用经验

qshell 修改生命周期


使用batchchlifecycle 和 listbucket2 前,必须先登录账号,使用qshell account 进行登录,如果已经登陆过,那么无需重复登录。ak sk 空间名称如果不了解是什么,可以阅读常见的关键参数 , 想要获取指定的文件列表,可以参考批量获取文件列表,listbucket2的参数不同,就会获取不同的待修改的文件列表。

  qshell account 您的ak 您的sk 账号邮箱(名称)

–to-ia-after-days:指定文件上传后并在设置的时间后转换到 低频存储类型;值范围为 -1 或者大于 0,设置为 -1 表示取消已设置的转 低频存储 的生命周期规则,单位:天【可选】

–to-archive-ir-after-days:指定文件上传后并在设置的时间后转换到 归档直读存储类型;值范围为 -1 或者大于 0,设置为 -1 表示取消已设置的转 归档直读存储 的生命周期规则,单位:天【可选】

–to-archive-after-days:指定文件上传后并在设置的时间后转换到 归档存储类型;值范围为 -1 或者大于 0,设置为 -1 表示取消已设置的转 归档存储 的生命周期规则,单位:天【可选】

–to-deep-archive-after-days:指定文件上传后并在设置的时间后转换到 深度归档存储类型;值范围为 -1 或者大于 0,设置为 -1 表示取消已设置的转 深度归档存储 的生命周期规则,单位:天【可选】

–delete-after-days:指定文件上传后并在设置的时间后进行 过期删除,删除后不可恢复;值范围为 -1 或者大于 0,设置为 -1 表示取消已设置的 过期删除 的生命周期规则,单位:天【可选】

取消历史文件全部的生成周期

  1. 执行命令,获取空间内全部文件:

    qshell listbucket2 空间名称 --show-fields Key -o releaselifecycle.txt
    
  2. 等待1执行完毕后,基于1的releaselifecycle.txt,批量取消生命周期

    qshell batchchlifecycle if-pbl -i releaselifecycle.txt 
    --to-ia-after-days -1 \
    --to-archive-ir-after-days -1 \
    --to-archive-after-days -1 \
    --to-deep-archive-after-days -1 \
    --delete-after-days -1
    

对历史文件设置生成周期,30天后自动删除

  1. 执行命令,获取空间内全部文件:

    qshell listbucket2 空间名称 --show-fields Key -o releaselifecycle.txt
    
  2. 等待1执行完毕后,基于1的releaselifecycle.txt做文件批量修改生命周期

    qshell batchchlifecycle if-pbl -i releaselifecycle.txt --delete-after-days 30
    

SDK删除

以java为列:
参考
1:获取文件名称
https://developer.qiniu.io/kodo/1239/java#rs-list
2:基于list获取的文件名称,调用API进行处理
https://developer.qiniu.com/kodo/8062/modify-object-life-cycle
其他SDK类似,可参考官方服务端SDK

以上内容是否对您有帮助?
  • Close