AWS удаляет старые файлы в репо S3 - PullRequest
0 голосов
/ 22 октября 2019

У меня есть репозиторий в s3 с файлами со старыми датами (<20-10). Я хочу удалить только эти файлы. Проблема в том, что когда вы применяете xargs rm, вы не можете удалить файлы, потому что он объединяет по умолчанию дату с именем d </p>

aws s3 ls s3://my_repo/

2019-10-17 06:07:09       9307 20191017_060016_00112_u246w_0950f96f-a55a-4ce5-b0f3-b271ecb8fe90
2019-10-17 06:07:09     467791 20191017_060016_00112_u246w_94bbd3a2-76ea-4c04-8189-d963168ea34b
2019-10-21 19:35:12       1633 20191021_193156_01159_myrsw_2e68c0e4-b1a3-4abf-94b3-797ef653b742
2019-10-21 19:35:12       1643 20191021_193156_01159_myrsw_3491c665-82e3-475c-bba2-35e7d61d7912

aws s3 ls s3://my_repo/ | awk '$1 < "2019-10-20 00:00:00" '

2019-10-17 06:07:09       9307 20191017_060016_00112_u246w_0950f96f-a55a-4ce5-b0f3-b271ecb8fe90
2019-10-17 06:07:09     467791 20191017_060016_00112_u246w_94bbd3a2-76ea-4c04-8189-d963168ea34b

aws s3 ls s3://my_repo/ | awk '$1 < "2019-10-20 00:00:00" {print $0}' |  xargs -0 rm --

rm: cannot remove '2019-10-17 06:07:09       9307 20191017_060016_00112_u246w_0950f96f-a55a-4ce5-b0f3-b271ecb8fe90': File name too long

1 Ответ

2 голосов
/ 23 октября 2019

Вместо использования aws s3 ls вы можете использовать:

aws s3api list-objects --bucket my-bucket --query "Contents[?LastModified<='2019-06-01'].[Key]" --output text

В этом списке будет отображаться имя (ключ) объектов, созданных до указанной даты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...