2017-01-20 4 views
1

У меня есть около 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 тысяч .. и повторять, пока все файлы не будут перемещены ...

или перемещать файлы на основе загруженного времени. например, файлы, загруженные с даты начала до конца

если да .. как?

+1

Вы пробовали? 'aws s3 sync' * должен * быть безопасно прерванным и должен забрать, где он был остановлен, если вы перезапустите его. По сути, невозможно копировать часть одного объекта в S3 - на уровне объекта, либо вся копия будет целенаправленной, либо новый ковш не будет иметь этого объекта вообще. –

+0

@ Michael-sqlbot ... я не могу попробовать, поскольку файлы слишком много, и как бы я знал, сколько файлов было синхронизировано .... есть ли способ, чтобы я мог знать, сколько файлов было синхронизировано ... перед перезагрузкой it –

+0

Вы пробовали? Я считаю, что он отображает ключи по мере их прохождения, и они выполняются в лексическом порядке. –

ответ

0

Чтобы переместить их использовать:

aws s3 sync s3://mybucket/ s3://mybucket2/ 

Вы можете повторить эту команду, после завершения (или не) без проблем. Это будет проверять, нет ли чего-то недостающего/отличного от целевого ведро s3 и будет обрабатывать его снова.

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