批量修改生命周期
关于生命周期
空间的生命周期删除后,删除后上传的文件没有生命周期,但是删除前上传的生命周期默认不会消失!
取消/修改文件生命周期
七牛提供如下解决方案:
-
七牛工具 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 表示取消已设置的 过期删除 的生命周期规则,单位:天【可选】
取消历史文件全部的生成周期
-
执行命令,获取空间内全部文件:
qshell listbucket2 空间名称 --show-fields Key -o releaselifecycle.txt
-
等待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天后自动删除
-
执行命令,获取空间内全部文件:
qshell listbucket2 空间名称 --show-fields Key -o releaselifecycle.txt
-
等待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