✨
bashスクリプトでS3バケット内のファイルの有無を判断する方法とは?
はじめに
bashスクリプトでS3バケット内のファイルの有無を判断する方法についてアウトプットしたいと思います。
前提
- S3バケット作成済み
- MacからAWS環境にアクセス
- AWSCLIが使用可能
awscliバージョン
$ aws --version
aws-cli/2.15.11 Python/3.11.6 Darwin/23.2.0 exe/x86_64 prompt/off
$
スクリプト
aws s3 ls
とgrep -w
を組み合わせたコマンドを実行し、戻り値で判断します。
s3-filecheck.sh
#!/bin/bash
aws s3 ls s3://testbucket0983/folder/2024/02/21/test.txt | grep -w "test.txt"
if [ $? -eq 0 ]; then
echo "ファイルがあります。"
else
echo "ファイルがありません。"
fi
実行結果は、以下になります。
- ファイルがある場合
実行結果
$ sh s3-filecheck.sh
2024-03-05 19:22:52 0 test.txt
ファイルがあります。
$
- ファイルがない場合
実行結果
$ sh s3-filecheck.sh
ファイルがありません。
$
参考
Discussion