日付プレフィックスを含むフォルダを含むs3バケットがあります。たとえば -
bucket_name
--> 2021-11-01
--> 2021-11-02
--> 2021-11-03
--> 2021-11-04
...
...
--> 2021-11-10
私の考えは、フォルダ全体が7日後に含まれているオブジェクトをクリーンアップする必要があるということです。だから私はただ見つけなければなりません。このバケット内のフォルダ名日付を確認して内容を削除してください。
完全なコード:
aws s3 ls s3://$S3_PATH/ | while read -r line; do
# Get file creation date
createDate=`echo $line|awk {'print $1" "$2'}`
createDate=`date -d"$createDate" +%s`
if [[ $createDate -lt $DELETETION_TIMESTAMP ]]
then
# Get file name
FILENAME=`echo $line|awk {'print $4'}`
if [[ $FILENAME != "" ]]
then
echo " -> Deleting $FILENAME"
aws s3 rm --recursive s3://S3_PATH/$createDate/
fi
fi
done;
間違い:もし私がするならecho $createDate
日付:無効な日付 'PRE 2021-11-01/'
編集する:
echo $line
返品
PRE 2021-11-01/
2021-11-01 15:10:15 0