OCI CLI 从对象存储中删除最旧的文件

问题描述

由于 DR 原因,我们将 sql Server 备份上传到 OCI 对象存储。每当上传新备份时,应该删除最旧的备份。

是否可以使用 CLI 以某种方式删除最旧的备份?

使用生命周期策略或保留规则不是一种选择,因为只有在上传文件后才应删除最早的备份,如果未上传任何内容,则不应删除任何内容。 我知道有 bulk-delete 命令,但我不知道您是否可以将其限制为仅删除最旧的文件

解决方法

oci os object list --all --fields name,timeCreated --bucket-name <backup_bucket>list 所有备份的名称和创建时间。

然后我会使用 jq 来轻松找到最旧的文件。

oci os object delete --force --bucket-name <backup_bucket> --object-name <older_backup_name>delete 备份而不提示确认,这要归功于 force 参数(如果在脚本中使用,则很有用)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...