S3
aws-cli

AWS CLI の S3コマンド の include オプションには注意が必要

More than 1 year has passed since last update.

表題通り。


include オプションは、exclude オプションに対して適用されるみたいなので、

両方設定しないと上手く動作しません。

exclude で対象外にしたファイル(オブジェクト)に対して、

 include で対象にしたいファイル(オブジェクト)を指定するみたい。


aws s3 rm --region ap-northeast-1 s3://mybucket/ --recursive --exclude "*" --include "empty" --include "*/empty" --dryrun

↑のコマンドは、

mybucket 内から empty という名前のファイルを再帰的に削除するという意味で、

それぞれのオプションの意味は、

--recursive … 再帰的に実行

--exclude "*" … 全てのファイルを対象外に

--include "empty" … mybucket 直下の empty ファイルを対象に

--include "*/empty" … ディレクトリ以下の empty ファイルを対象に(↑と両方入ります)

--dryrun … テスト実行

上記コマンドから --exclude "*" がないと --include が無視され、

全ファイル(オブジェクト)が削除されるので注意!