本文是写给我们自己的,用于维护七牛云存储中的临时文件,降低存储费用。
总体的思路
先查询,后利用查询到的结果批量删除对应的文件。
如何查询
查询条件:以某个前缀为路径的文件,晚于某个时间上传的文件
本例中 删除以 generation/tmp/pdf/zhihu-
开头的,扩展名为 .pdf 的文件。
qshell 查询 prefix 文档为 获取空间中指定前缀的文件列表
qshell listbucket [--prefix <Prefix>] <Bucket> -o <ListBucketResultFile>
那么拼接命令为:
qshell listbucket2 xyz --prefix 'generation/tmp/pdf/zhihu-' --suffixes .pdf --start 2024-02-01-08-30-00 -o /tmp/generation-zhihu.list.txt
xyz 是 bucket 名。
执行后,查询生成的文件列表的结果
cat /tmp/generation-zhihu.list.txt | wc
如何删除
qshell batchdelete --force xyz -i /tmp/generation-zhihu.list.txt
提示:删除操作需谨慎,因为没有回头路。最好是先有备份操作。
综上
利用 qshell listbucket
命令和 batchdelete
实现了批量删除 以 generation/tmp/pdf/zhihu-
开头的,扩展名为 .pdf 的,且开始事件为 2024-02-01-08-30-00 文件。
还有没有别的办法呢?应该是有的,比如利用 windows 或者 macOS 的七牛云的客户端,然后删除指定的目录,应该也可以达到类型的效果。