comment inclure et copier les fichiers dans le répertoire courant à s3 (et non récursive)
J'ai des fichiers que je veux copier sur s3.
Plutôt que de faire un appel par fichier, je veux tous les inclure dans un seul appel (pour être aussi efficace que possible).
Cependant, je ne semble pas fonctionner si j'ajoute --recursive drapeau, ce qui en fait regarder dans tous les répertoires enfants (tous les fichiers que je veux sont dans le répertoire courant seulement)
donc, c'est la commande que j'ai maintenant, qui fonctionne
aws s3 cp --dryrun . mybucket --recursive --exclude * --include *.jpg
mais, idéalement, je voudrais enlever le --recursive pour l'arrêter traversant,
par exemple, quelque chose comme ceci (qui ne fonctionne pas)
aws s3 cp --dryrun . mybucket --exclude * --include *.jpg
(J'ai simplifié l'exemple, dans mon script, j'ai plusieurs inclure des motifs)
Vous devez vous connecter pour publier un commentaire.
AWS CLI S3 soutien joker est un peu primitif, mais vous pouvez utiliser plusieurs
--exclude
options pour effectuer cette opération. Remarque: l'ordre desincludes
etexcludes
est important.Essayer la commande:
Espère que ça aide.
J'ai essayé le corrigé et ne pouvait pas obtenir aws pour ignorer les dossiers imbriqués. Vu d'étranges sorties sur le calcul de la taille, et 0 la taille des objets, en dépit de l'aide de l'exclure du pavillon.
J'ai finalement abandonné sur le
--recursive
drapeau et utilisé bash pour exécuter une seule s3 téléchargement pour chaque fichier de correspondance. Supprimer--dryrun
une fois que vous êtes prêt à rouler!Je suggère d'aller pour un utilitaire appelé s4cmd qui nous permet d'unix comme les opérations du système de fichiers et il nous permet également d'inclure les cartes sauvages
https://github.com/bloomreach/s4cmd