amazon s3で世代管理(bash)

yocto1202 33views 更新:2016年9月12日

バックアップをアップロードしたあと指定した世代分だけ残して他を削除するスクリプトです。lifetimeなどの機能が追加されたようでスクリプトで行なう意味は小さいかもしれませんが、一応このような形で行なうことが出来ます。
以下は例えば3世代分のこした管理を行なう場合です。

aws s3 ls s3://{管理したいフォルダ} >list.log
num=`cat list.log |awk 'END {print NR}'`
num=`expr $num - 3`
echo "delete num = $num"
echo "delete list"
cat list.log |head -n $num

for target in `seq 1 $num`; do
  echo $target
  rmfile=`cat list.log |awk '{print $2}' | head -n $target | tail -n 1`
  echo "s3://{管理したいフォルダ}/$rmfile"
  aws s3 rm  s3://{管理したいフォルダ}/$rmfile --recursive
  echo ""
done

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません