2016-07-28 178 views
1

我們在AWS S3中有一個存儲桶,正在將生產備份複製到其中。AWS S3下載和複製

我的任務是將最新的備份文件從AWS S3複製到本地沙箱SQL Server,然後執行還原。

我已經在本地服務器上安裝了所有適用於Windows的AWS工具。連接到AWS S3工作的憑證等 我的本地服務器可以列出AWS S3存儲桶中的所有文件。如果我專門命名該文件,我可以成功下載單個文件。

這裏是工作從7月25日拉出最新副本的一個例子,2016年

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

我的目標是有一個副本腳本,它只將最新的文件,我不會知道的名字。我想安排這個。

沒有我谷歌或嘗試讓我正確的語法來做到這一點。

+0

他們是按創建日期保存這些備份文件? – error2007s

回答

1

來檢索你的水桶最新的文件,你可以做以下

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

的第一個命令將列出以JSON你斗的對象,該JSON的要素,這些here 然後要從最後一次修改日期排序元素,取最後一個元素,並且您希望他們的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