AWS s3パケット間のファイル同期

ちょうど仕事でAWS S3パケット間のファイルバッチを作る必要があったので、
序でにやり方を記事にもしましょうw

AWS S3パケット間のファイル同期

使うツールはAWS CLIコマンドです。
コマンドはとてもシンプルで1行のみ!

aws s3 sync s3://同期元パケット名/同期したフォルム名 s3://同期先パケット名/同期したフォルム名 --delete --profile プロファイル名

それではひとつずつの意味を紹介しましょう

  • aws s3:AWS CLIコマンドの中でs3サービスに対して、操作するときに指定するコマンド。
  • sync:ディレクトリの同期コマンド。
  • –delete:syncのオプションで同期元のファイルで削除したファイルを同期先でも削除したい場合に使用します。
  • –profile:同じくオプションでaws configureに設定されているプロファイル名を指定する場合に使用します。指定しない場合はなしでもOK!

その他のオプションとsyncコマンドの使い方も合わせて、紹介します。

syncの使い方

s3⇒s3間の同期

aws s3 sync s3://同期元 s3://同期先 <オプション>

local⇒s3間の同期

aws s3 sync <ローカルパス> s3://同期先 <オプション>

s3⇒local間の同期

aws s3 sync s3://同期元 <ローカルパス> <オプション>
syncのオプション
 –dryrun 実行内容確認用(実際は実施しない)
 –quiet 結果を表示しない
 –include <value> 同期したいファイル
 –exclude <value> 除外したいファイル
 –acl アクセスコントロールを指定
 –only-show-errors エラーのみ表示
 –delete 同期元のファイルで削除したファイルを同期先でも削除する
サンプルコード

githubにサンプルコードを作りました。
使う方は確認してくださいね!

https://github.com/engineer-log/s3_file_sync

– PR –
– PR –