У меня есть около 2 миллионов файлов, вложенных в подфайлы в ведро, и вы хотите переместить их все в другое ведро. Проведя большую часть времени на поиске ... я нашел решение использовать команду AWS CLI mv/sync. используйте команду move или используйте команду sync, а затем удалите все файлы после успешной синхронизации.Команда aws s3 mv/sync
aws s3 mv s3://mybucket/ s3://mybucket2/ --recursive
или это может быть как
aws s3 sync s3://mybucket/ s3://mybucket2/
Но проблема заключается в том, как бы я знать, что сколько файлов/папок переместились или синхронизироваться и сколько времени это займет ... И что, если возникает какое-то исключение (остановка машины/сервера/отключение интернета по какой-либо причине) ... я должен снова выполнить команду, или она наверняка завершит и переместит/синхронизирует все файлы. Как я могу быть уверен в количестве перемещенных/синхронизированных файлов и не перемещать/синхронизировать файлы.
или может я что-то вроде этого
переместить ограниченное количество файлов, например, 100 тысяч .. и повторять, пока все файлы не будут перемещены ...
или перемещать файлы на основе загруженного времени. например, файлы, загруженные с даты начала до конца
если да .. как?
Вы пробовали? 'aws s3 sync' * должен * быть безопасно прерванным и должен забрать, где он был остановлен, если вы перезапустите его. По сути, невозможно копировать часть одного объекта в S3 - на уровне объекта, либо вся копия будет целенаправленной, либо новый ковш не будет иметь этого объекта вообще. –
@ Michael-sqlbot ... я не могу попробовать, поскольку файлы слишком много, и как бы я знал, сколько файлов было синхронизировано .... есть ли способ, чтобы я мог знать, сколько файлов было синхронизировано ... перед перезагрузкой it –
Вы пробовали? Я считаю, что он отображает ключи по мере их прохождения, и они выполняются в лексическом порядке. –