52 votes

Déplacement de nombreux fichiers dans le même compartiment

J'ai 200 000 fichiers dans un compartiment que je dois déplacer dans un sous-dossier à l'intérieur du même compartiment, quelle est la meilleure approche ?

37voto

nokatzhere Points 279

Récemment a été en mesure de le faire avec une seule commande. Il est également allé beaucoup plus vite que les demandes individuelles pour chaque fichier.

Exécution d'un extrait de code comme ceci :

aws s3 mv s3://bucket-name/ s3://bucket-name/subfolder --recursive --exclude "*" --include "*.txt"

Utilisez le drapeau --include pour récupérer sélectivement les fichiers que vous souhaitez

1voto

vpontis Points 21

J'ai eu ce même problème et j'ai fini par utiliser aws s3 mv avec une boucle bash for.

J'ai fait aws ls bucket_name pour obtenir tous les fichiers dans le compartiment. Puis j'ai décidé quels fichiers je voulais déplacer et je les ai ajoutés file_names.txt.

Puis j'ai lancé l'extrait suivant pour déplacer tous les fichiers :

for f in $(cat file_names.txt)
do
    aws s3 mv s3://bucket-name/$f s3://bucket-name/subfolder/$f
done

0voto

medBo Points 1866

si vos fichiers sont dans un dossier, vous pouvez utiliser l'outil s3cmd

s3cmd cp --recursive s3://bucket/folder/ s3://bucket/sub_folder/

Ps : je suppose que vous avez déjà installé et configuré s3cmd

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X