Comment exclure plusieurs dossiers lors de l'utilisation de la synchronisation aws s3?
J'ai essayé :
# aws s3 sync s3://inksedge-app-file-storage-bucket-prod-env s3://inksedge-app-file-storage-bucket-test-env --exclude 'reportTemplate/* orders/* customers/*'
Mais il fait toujours la synchronisation pour le dossier "client"
Sortie:
copy: s3://inksedge-app-file-storage-bucket-prod-env/customers/116/miniimages/IMG_4800.jpg to s3://inksedge-app-file-storage-bucket-test-env/customers/116/miniimages/IMG_4800.jpg
copy: s3://inksedge-app-file-storage-bucket-prod-env/customers/116/miniimages/DSC_0358.JPG to s3://inksedge-app-file-storage-bucket-test-env/customers/116/miniimages/DSC_0358.JPG
Enfin, cela a fonctionné pour moi:
Sudo aws s3 sync s3://xxxx-app-file-storage-bucket-prod-env s3://xxxx-app-file-storage-bucket-test-env --exclude 'customers/*' --exclude 'orders/*' --exclude 'reportTemplate/*'
Astuce : en particulier, vous devez mettre vos caractères génériques et spéciaux entre guillemets simples ou doubles pour fonctionner correctement, ci-dessous sont des exemples de caractères correspondants. pour plus d'informations sur les commandes S3, vérifiez-le dans Amazon ici .
*: Matches everything
?: Matches any single character
[sequence]: Matches any character in sequence
[!sequence]: Matches any character not in sequence
Pour ceux qui recherchent la synchronisation de certains sous-dossiers dans un compartiment, le filtre d'exclusion s'applique aux fichiers et dossiers à l'intérieur du dossier en cours de synchronisation, et non au chemin par rapport au compartiment, par exemple:
aws s3 sync s3://bucket1/bootstrap/ s3://bucket2/bootstrap --exclude '*' --include 'css/*'
synchroniserait le dossier bootstrap/css mais pas bootstrap/js ni bootstrap/fonts dans l'arborescence de dossiers suivante:
bootstrap/
├── css/
│ ├── bootstrap.css
│ ├── bootstrap.min.css
│ ├── bootstrap-theme.css
│ └── bootstrap-theme.min.css
├── js/
│ ├── bootstrap.js
│ └── bootstrap.min.js
└── fonts/
├── glyphicons-halflings-regular.eot
├── glyphicons-halflings-regular.svg
├── glyphicons-halflings-regular.ttf
└── glyphicons-halflings-regular.woff
Autrement dit, le filtre est "css/*" et non "bootstrap/css/*"
Plus dans https://docs.aws.Amazon.com/cli/latest/reference/s3/index.html#use-of-exclude-and-include-filters