0
awscliを使用してs3のいくつかのフォルダーからファイルを取得するシェルスクリプトを作成しました。私が抱えている問題は、スクリプトを実行すると、フォルダが作成されますが、ファイルはただちにダウンロードされるということです。作成されたフォルダの名前はS3と同じです。このスクリプトを修正してフォルダを作成する方法はありますが、ファイルは対応するフォルダにダウンロードされます。シェルS3フォルダーからファイルをダウンロードしてそれらのフォルダーを作成するスクリプト
#!/bin/bash -e
DIRNAME='s3download'
SLASH='/'
SEVENFOLDERS=("folder1" "folder2" "folder3" "folder4" "folder5" "folder6" "folder7")
SEVENFOLDERPATH=("s3://blah/folder1/"
"s3://blah/folder2/" "s3://blah/folder3/" "s3://blah/folder4/" "s3://blah/folder5/" "s3://blah/folder6/" "s3://blah/folder7/")
mkdir $DIRNAME
for i in "${SEVENFOLDERS[@]}"
do
:
SUBDIR=$DIRNAME$SLASH$i
mkdir -p $SUBDIR
done
for k in "${SEVENFOLDERPATH[@]}"
do
:
SUBDIR=$DIRNAME$SLASH$k
aws s3 cp --recursive $k $SUBDIR
done
echo $i "Status: 200 OK"
fi
aws s3 sync 'は動作しませんでした。コードで詳細を教えてください。 –
kastsabug
ドキュメントを見る必要がありますが、少なくともそのコマンドには1つの問題があります。ターゲットが常に最後であるため、ローカルディレクトリ* last *を置く必要があります。また、「うまくいきませんでした」とは誰でも助けてくれる情報ではありません。 – l0b0
'aws s3 sync .'はS3ダンプを構造をそのまま残して取ります。 –
kastsabug