AWS CLI syncコマンドでローカルフォルダとの同期方法
環境
AWS CLI
AWS S3
操作方法
1.sync同期実行前
$ aws s3 ls s3://arkgame-bucket/ --recursive 2022-04-01 08:32:45 0 sync/ 2022-04-01 08:38:39 0 sync/xxxxxxxxxx.txt 2022-04-01 08:13:29 0 test1.csv
ディレクトリを表示します
$ tree . ├── dir1 │ ├── dir1_1 │ │ ├── test1.csv │ │ ├── test1.txt │ │ ├── test2.txt │ │ └── test3.txt │ ├── dir1_2 │ │ └── test2.csv │ └── dir1_3 ├── test1.md └── test4.txt 4 directories, 7 files
2.sync同期を実行します
$ aws s3 sync . s3://arkgame-bucket/sync upload: dir1/dir1_1/test1.csv to s3://arkgame-bucket/sync/dir1/dir1_1/test1.csv upload: dir1/dir1_1/test3.txt to s3://arkgame-bucket/sync/dir1/dir1_1/test3.txt upload: ./test1.md to s3://arkgame-bucket/sync/test1.md upload: dir1/dir1_1/test2.txt to s3://arkgame-bucket/sync/dir1/dir1_1/test2.txt upload: dir1/dir1_1/test1.txt to s3://arkgame-bucket/sync/dir1/dir1_1/test1.txt upload: ./test4.txt to s3://arkgame-bucket/sync/test4.txt upload: dir1/dir1_2/test2.csv to s3://arkgame-bucket/sync/dir1/dir1_2/test2.csv
3.sync同期実行後確認
$ tree . ├── dir1 │ ├── dir1_1 │ │ ├── test1.csv │ │ ├── test1.txt │ │ ├── test2.txt │ │ └── test3.txt │ ├── dir1_2 │ │ └── test2.csv │ └── dir1_3 ├── test1.md └── test4.txt 4 directories, 7 files
確認
$ aws s3 ls s3://arkgame-bucket/ --recursive 2022-04-01 08:32:45 0 sync/ 2022-04-01 08:40:47 0 sync/dir1/dir1_1/test1.csv 2022-04-01 08:40:47 0 sync/dir1/dir1_1/test1.txt 2022-04-01 08:40:47 0 sync/dir1/dir1_1/test2.txt 2022-04-01 08:40:47 0 sync/dir1/dir1_1/test3.txt 2022-04-01 08:40:47 0 sync/dir1/dir1_2/test2.csv 2022-04-01 08:40:47 0 sync/test1.md 2022-04-01 08:40:47 0 sync/test4.txt 2022-04-01 08:38:39 0 sync/xxxxxxxxxx.txt 2022-04-01 08:13:29 0 test1.csv
ローカルに存在して、S3に存在しないファイルがアップロードされました。
3.追加・更新操作を行います(S3の内容をローカルと同期)
S3に存在して、ローカルに存在しないファイルがダウンロードされました。
$ aws s3 sync s3://arkgame-bucket/sync . download: s3://arkgame-bucket/sync/xxxxxxxxxx.txt to ./xxxxxxxxxx.txt
4.ファイルの削除
$ rm test1.md $ $ aws s3 sync . s3://arkgame-bucket/sync $ $ aws s3 sync . s3://arkgame-bucket/sync --delete delete: s3://arkgame-bucket/sync/test1.md