利用 qshell 来删除七牛云上指定前缀的文件

本文是写给我们自己的,用于维护七牛云存储中的临时文件,降低存储费用。

总体的思路

先查询,后利用查询到的结果批量删除对应的文件。

如何查询

查询条件:以某个前缀为路径的文件,晚于某个时间上传的文件

本例中 删除以 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 的七牛云的客户端,然后删除指定的目录,应该也可以达到类型的效果。

关于本文如您有任何想法和意见,欢迎与我们联系,邮箱地址zhi@uqugu.com
您对本文有什么看法,喜欢或者不喜欢都可以发表意见。