Comment déplacer des fichiers de amazon ec2 vers S3 bucket en utilisant la ligne de commande

dans mon exemple amazon EC2, j'ai un dossier nommé uploads. Dans ce dossier j'ai 1000 images. Maintenant je veux copier toutes les images dans mon nouveau seau S3. Comment puis-je faire cela?

17
demandé sur GabLeRoux 2015-02-08 18:59:21

5 réponses

première Option sm3cmd

Utiliser s3cmd

s3cmd get s3://AWS_S3_Bucket/dir/file

regardez cette documentation s3cmd

si vous êtes sous linux, lancez ceci sur la ligne de commande:

sudo apt-get install s3cmd

ou Centos, Fedore.

yum install s3cmd

Exemple d'utilisation:

s3cmd put my.file s3://pactsRamun/folderExample/fileExample

Deuxième Option

en utilisant Cli d'amazon

mise à Jour

comme @tedder42 l'a dit dans les commentaires, au lieu d'utiliser cp, utilisez sync.

regardez la syntaxe suivante:

aws s3 sync <source> <target> [--options]

Exemple:

aws s3 sync . s3://my-bucket/MyFolder

plus d'informations et exemples disponibles à gestion des objets à L'aide de commandes s3 de haut niveau avec L'Interface en ligne de commande AWS

21
répondu Ethaan 2018-03-28 15:03:17

notez aussi sur aws cli la synchronisation avec s3 il est multithreaded et télécharge plusieurs parties d'un fichier à la fois. Le nombre de threads n'est cependant pas configurable pour le moment.

1
répondu Tim Johnson 2015-02-10 17:32:42
aws s3 sync your-dir-name s3://your-s3-bucket-name/folder-name
  • important: cela copiera chaque élément de votre répertoire nommé dans le dossier S3 bucket que vous avez sélectionné. Ceci ne copiera pas votre répertoire dans son ensemble.

ou, vous pouvez utiliser la commande suivante pour un fichier sélectionné.

aws s3 sync your-dir-name/file-name s3://your-s3-bucket-name/folder-name/file-name

ou vous pouvez sélectionner tout avec un caractère sauvage. Notez que cela va copier votre répertoire dans son ensemble et aussi générer des métadonnées et les enregistrer dans votre dossier S3 bucket.

aws s3 sync . s3://your-s3-bucket-name/folder-name

Voir la totalité de mon blog sur comment se connecter à S3 Bucket à partir D'une Instance EC2 – aide AWS

1
répondu zafrin 2018-06-09 18:19:52

nous avons une fonction dryrun disponible pour les tests.

  • pour commencer, j'attribuerais à ec2-instance un rôle à lire Ecrire à S3
  • SSH dans l'instance et effectuer ce qui suit
  • vi tmp1.txt
  • aws s3 mv ./s3:/ / bucketname-bucketurl.com / -- dryrun
  • Si cela fonctionne, alors tout ce que vous avez à faire est de créer un script pour téléchargez tous les fichiers spécifiques à partir de ce dossier dans S3 bucket
  • je l'ai fait le written la commande suivante dans mon script pour déplacer fichiers de plus de 2 minutes du répertoire courant au seau / dossier
  • CD dir; ls . -rt | xargs -I FICHIERS rechercher des FICHIERS -maxdepth 1 -nom "*.txt' - mmin +2-exec aws s3 mv '{} ' S3: / / bucketurl.com
0
répondu AKV 2017-08-17 06:35:25
aws s3 mv /home/inbound/ s3://test/ --recursive --region us-west-2
0
répondu raju 2018-04-04 19:43:56