繁体   English   中英

AWS S3 下载和复制

[英]AWS S3 download and copy

我们在 AWS S3 中有一个存储桶,用于将生产中的备份复制到其中。

我的任务是将最新的备份文件从 AWS S3 复制到本地沙箱 SQL Server,然后进行还原。

我已经在本地服务器上安装了所有适用于 Windows 的 AWS 工具。 连接到 AWS S3 工作的凭据等。我的本地服务器可以列出 AWS S3 存储桶中的所有文件。 如果我特别命名该文件,我可以成功下载单个文件。

这是从 2016 年 7 月 25 日开始提取最新副本的工作示例。

aws s3 cp s3://mybucket/databasefile_20160725.zip E:\DBA 

我的目标是拥有一个只提取最新文件的复制脚本,我不知道它的名称。 我想安排这个。

我谷歌或尝试什么都没有让我得到正确的语法来做到这一点。

要检索存储桶中的最新文件,您可以执行以下操作

aws s3api list-objects --bucket "mybucket" |\
jq '.Contents | sort_by(.LastModified) | .[-1].Key' --raw-output

第一个命令将在Json中列出您的存储桶的对象, 这里列出了JSon的元素然后您想要从上次修改日期对元素进行排序,获取最后一个元素,并且您希望它们为Key(即文件的名称)在桶中)。 --raw-output标志添加到键名称中的条带引号

您可以在脚本中重用它,或者使用s3 cp命令将其管道化,如下所示

aws s3api list-objects --bucket "mybucket" |\
jq '.Contents | sort_by(.LastModified) | .[-1].Key' --raw-output |\
xargs -I {} aws s3 cp s3://mybucket/{} E:\DBA

您也可以使用此脚本下载 S3bucket 内容,然后备份您要在此处输入链接描述的位置

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM