如何查找最新或最新的AWS RDS快照?

itc*_*y23 15 snapshot command-line-interface amazon-web-services

我可以调用aws rds describe-db-snapshots --db-instance-identifier {my_db_instance}和排序所有自动快照以查找最近创建的快照,但我希望有人有更好的想法.

whe*_*ere 24

对我来说,这个有效:

aws rds describe-db-snapshots \
  --query="reverse(sort_by(DBSnapshots, &SnapshotCreateTime))[0]"
Run Code Online (Sandbox Code Playgroud)

查询参数自动对它们进行排序,并仅返回最新的一个.

如果只需要Arn,这个可能会有所帮助:

aws rds describe-db-snapshots \
  --query="reverse(sort_by(DBSnapshots, &SnapshotCreateTime))[0]|DBSnapshotArn" \
  --output text
Run Code Online (Sandbox Code Playgroud)

以及特定数据库实例的所有内容:

aws rds describe-db-snapshots \
  --db-instance-identifier={instance identifier} \
  --query="reverse(sort_by(DBSnapshots, &SnapshotCreateTime))[0]|DBSnapshotArn" \
  --output text
Run Code Online (Sandbox Code Playgroud)

  • 奇迹般有效。每天学习有关AWS查询的新知识。我相信这应该是公认的答案。谢谢! (2认同)

小智 7

我知道这是旧的,但我需要知道相同的信息,并能够构建以下,然后只给我快照名称.它并没有完全回答你关于强调查找最新快照的问题,但在这个例子中可能会给你一些更好的方向.

aws rds describe-db-snapshots --db-instance-identifier prd --snapshot-type automated --query "DBSnapshots[?SnapshotCreateTime>='2017-06-05'].DBSnapshotIdentifier"
Run Code Online (Sandbox Code Playgroud)

用选项打破它

--db-instance-identifier (放入您正在寻找的实例名称)

--snapshot-type (我自动进行查找自动备份)

--query "DBSnapshots[?SnapshotCreateTime>='2017-06-05'].DBSnapshotIdentifier"

(这是我用来优化我的搜索,因为我们每天进行备份,我只是寻找快照创建时间比今天更大,并通过给.DBSnapshotIdentifier给我回来的名称.

希望这会帮助其他人.


err*_*07s 1

截至 2014 年 10 月 31 日,您似乎可以使用该--t标志仅列出自动备份。

http://docs.aws.amazon.com/AmazonRDS/latest/CommandLineReference/CLIReference-cmd-DescribeDBSnapshots.html

从那里,您应该能够解析输出以确定最新的快照。

rds-describe-db-snapshots --t automated

DBSNAPSHOT  rds:<NAME>-2016-08-09-17-12  
Run Code Online (Sandbox Code Playgroud)

没有其他更简单的方法可以解决这个问题。