如何使用 AWS CLI 获取 RDS 数据库实例的最新快照的名称?

How can I get the name of the most recent snapshot for an RDS DB instance using the AWS CLI?

如何使用 AWS CLI 获取特定数据库实例的最新快照?

我可以轻松地通过 GUI 获取它们,但我想将其自动化。

您可以使用 aws rds describe-db-snapshots CLI 命令获取数据库快照列表,然后 运行 使用 --query 的本地查询以使用 SnapshotCreateTime字段。

SnapshotCreateTime -> (timestamp)

Specifies when the snapshot was taken in Coordinated Universal Time (UTC). Changes for the copy when the snapshot is copied.

像这样:

aws rds describe-db-snapshots \
    --db-instance-identifier your-id \
    --query "sort_by(DBSnapshots, &SnapshotCreateTime)[-1].{id:DBSnapshotIdentifier,time:SnapshotCreateTime}"

请注意,此查询按 SnapshotCreateTime 的升序对快照进行排序,然后只取列表中的最后一个(由 [-1] 指定),这将是最后创建的那个。

[已添加] 如果您要查找 Aurora 数据库集群的快照,则必须使用 describe-db-cluster-snapshots 代替 describe-db-snapshots,但其他过程类似:使用 DBClusterSnapshotsDBClusterSnapshotIdentifier(代替 DBSnapshotsDBSnapshotIdentifier)。