2016-07-28 4 views
1

У нас есть ковш в AWS S3, где копируются копии из производства.AWS S3 скачать и скопировать

Моя задача - скопировать самый последний файл резервной копии из AWS S3 в локальный SQL-сервер Sandbox, а затем выполнить восстановление.

Я установил все инструменты AWS для окон на локальном сервере. Учетные данные для подключения к работе AWS S3 и т. Д. Мой локальный сервер может отображать все файлы в ведро AWS S3. Я могу успешно загрузить один файл, если я конкретно назвал этот файл.

Вот пример того, что работа тянет самую последнюю копию с 25 июля 2016.

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

Моя цель состоит в том, чтобы иметь сценарий копирования, что только вытягивает самый последний файл, который я не буду знать имя. Я хочу запланировать это.

Ничего, что я делаю Google или не пытаюсь получить для меня правильный синтаксис.

+0

Являются ли эти резервные копии файлов, сохраненных на сегодняшний день они были созданы? – error2007s

ответ

1

получить последнюю версию файла в вашем ведре вы можете сделать следующее

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

Первая команда выведет список объектов вашего ведра в Json, элементы JSon перечислены here Затем вы хотите соберите элемент с последней измененной даты, возьмите последний элемент, и вы хотите, чтобы он был ключевым (т.е. имя файла в ведре). Добавление --raw-output флаг Stripe цитаты из имени ключа

можно использовать повторно, что в сценарии или трубы с помощью команды s3 сП, как показано ниже

aws s3api list-objects --bucket "mybucket" |\ 
jq '.Contents | sort_by(.LastModified) | .[-1].Key' --raw-output |\ 
xargs -I {} aws s3 cp s3://mybucket/{} E:\DBA 
Смежные вопросы