s3cmdを使ってデータを定期的に削除するコマンドを作った。
今回はファイルの作成日時がファイル名自体に入っていたので、こんな感じでシェル作ってcronに設定しておしまい。これで7日前のデータが全部消える。
s3cmd ls s3://bucket/ | awk '{ print $4 }' | grep `date +'%Y%m%d' --date "7 day ago"` | xargs s3cmd del
もしファイル名に日時が入っていない場合はアップロードされた日時をgrepで指定するとかで対応できそう。
s3cmdで○日以前のデータは削除とか出来れば何かあった時にも楽なんだけど、とりあえずこれで様子見。