批量删除 CF R2 存储桶文件及 CF pages 历史版本

批量删除 CF R2 存储桶文件及 CF pages 历史版本

批量删除 CF R2 存储桶文件

每个 CF 账号可以申请 10GB 的 R2 存储桶空间,只需要绑定信用卡即可,开通过程自行搜索

R2 存储桶官方的网页管理面板存在 BUG,桶内的文件夹无法直接删除,需要先删除文件夹内的文件,但文件并不能批量删除,于是写了这个代码,借助 CF 的 API 批量删除 R2 存储桶文件和文件夹

重要提示

  • 删除操作不可逆,请确保已备份重要数据
  • 生产环境使用前建议先在测试项目上验证

所有代码都在 我的仓库,请自行下载测试

PY 版

  • 前置条件:打开 gitbash 终端(如果没有就先安装 gitbash windows 版),先安装 boto3 依赖:pip install boto3
  • 下载 py 脚本:下载仓库内的 delete-r2-plus.py 文件,并修改 ACCESS_KEYSECRET_KEYACCOUNT_IDBUCKET_NAMEKEEP_LATEST 四个变量
  • 运行 py 脚本:打开 gitbash 终端,运行:py delete-r2-plus.py

Shell 版

  • 前置条件:先安装 AWS CLIJQ 并配置好环境变量(win 系统)
  • 下载脚本: 下载仓库内的 del-r2.sh 文件,同样要修改代码开头的变量
  • 运行 shell 脚本:打开 gitbash 终端,运行:bash del-r2.sh

批量删除 CF Pages 历史版本

cf pages 官方的网页管理面板也存在 BUG,当历史版本超过 100 个时,pages 项目将无法被删除,于是写了这个代码,借助 CF 的 API 批量删除 pages 的历史版本

  • 下载脚本:下载仓库内的 del-pages.sh 脚本
  • 设置脚本开头的相关变量
    • CF_API_TOKEN: Cloudflare API 令牌,需要编辑 pages 的权限
    • ACCOUNT_ID: Cloudflare 账户 ID
    • PROJECT_NAME: Pages 项目名称
  • 运行 shell 脚本:打开 gitbash 终端,运行:bash del-pages.sh

#cloudflare