カテゴリー
【AWS-CLI】s3 syncコマンドのexclude/includeオプションを使って上手くサブフォルダーの中身をアップロードする
※ 当ページには【広告/PR】を含む場合があります。
2020/10/03
2024/01/05
s3 sync
「aws s3 sync」コマンドでS3バケットへ出し入れするファイルを細かく制御する
シェルコマンドを文字列から実行するテクニック
「aws s3 sync」コマンドのテストにはドライランを使おう
「aws s3 sync」コマンドの--exclude/--includeのフィルター制御
--exclude
--include
$ aws sync --exclude "*" --include "*.png" --include "hoge/*.txt" --include "piyo/*.txt"
--exclude "*"
--include
--exclude
--include
eval
index.html
#!/bin/bash
#👇アップロード対象となるローカルのフォルダ
DIST_FOLDER_PATH=/path/to/dist/folder
#👇アップロード先のS3バケットのアドレス
S3_BUCKET_PATH=s3://your-bucket.online/
subfolders=(${1//,/ })
for subfolder in "${subfolders[@]}"; do
include_option="${include_option} --include '${subfolder}/*'"
done
include_option="aws s3 sync ${DIST_FOLDER_PATH} ${S3_BUCKET_PATH} --exclude '*' --include 'index.html' ${include_option}"
eval ${include_option}
aws sync
eval
hoge
piyo
fuga
$ ./aws_sync.sh hoge,piyo,fuga
aws s3 sync /path/to/dist/folder s3://your-bucket.online/ --exclude '*' --include 'index.html' --include 'hoge/*' --include 'piyo/*' --include 'fuga/*'
#...同期アップロードが始まる
grep
まとめ
記事を書いた人
ナンデモ系エンジニア
主にAngularでフロントエンド開発することが多いです。 開発環境はLinuxメインで進めているので、シェルコマンドも多用しております。 コツコツとプログラミングするのが好きな人間です。
カテゴリー