Команда Интерфейс командной строки AWS (CLI) aws s3 sync
скопирует все файлы, которые отсутствуют в месте назначения (своего рода).
Итак, вам нужно сохранить все ранее загруженные файлы или другой способ отслеживать загруженные файлы.
Вместо этого я бы порекомендовал написать собственную программу, которая:
- Загружает все файлы из корзины S3 с отметкой времени
LastModified
после сохраненной отметки времени
- Сохраняет текущее время
- Распаковывает файлы и копирует их в другую корзину S3
- Удаляет zip-файлы и разархивированные файлы
Итак, программе нужно будет помнить последний раз, когда она загружала файлы, но ей не нужно будет помнить, какие файлы она скачала. Будьте осторожны - S3 хранит время в UTC, поэтому вам нужно будет конвертировать ваши часовые пояса. Или просто запомните самое высокое значение LastModified
загруженных вами файлов.
Чтобы получить список файлов с определенной даты LastModified
, вы можете использовать интерфейс командной строки AWS:
aws s3api list-objects --bucket jstack-a --query "Contents[?LastModified>='2019-04-11'].[Key]" --output text
Однако я бы порекомендовал написать программу на Python для перечисленных выше действий, поскольку было бы проще писать сценарии командной строки.