Classic/VPC環境で利用できます。
Object Storageバケット間、またはバケットとローカルディレクトリ間で、フォルダとオブジェクトを同期します。
構文
sync構文は次の通りです。
aws s3 sync \
<source> \
<destination> \
[--dryrun] \
[--quiet] \
[--include <pattern>] \
[--exclude <pattern>] \
[--acl <acl>] \
[--follow-symlinks | --no-follow-symlinks] \
[--no-guess-mime-type] \
[--content-type <content-type>] \
[--only-show-errors] \
[--no-progress] \
[--page-size <page-size>] \
[--metadata <metadata>] \
[--metadata-directive <COPY|REPLACE>] \
[--size-only] \
[--exact-timestamps] \
[--delete] \
--endpoint-url <endpoint-url>
オプション
syncの実行時に指定できるオプションについて説明します。
必須オプション
syncの必須オプションです。
| オプション | タイプ | 必須の有無 | 説明 |
|---|---|---|---|
<source> |
String | Required | コピー元のパス
|
<destination> |
String | Required | コピー先のパス
|
任意オプション
syncの任意オプションです。指定しない場合、オプションにはデフォルト値が適用されます。
| オプション | タイプ | 必須の有無 | 説明 |
|---|---|---|---|
--dryrun |
Boolean | Optional | コマンドを実行せずに結果だけを確認 |
--quiet |
Boolean | Optional | レスポンス結果を表示しない |
--include |
String | Optional | 指定したパターンと一致するオブジェクトのみがコマンドに含める
|
--exclude |
String | Optional | 指定したパターンと一致するオブジェクトをコマンドから除外
|
--follow-symlinks, --no-follow-symlinks |
Boolean | Optional | シンボリックリンクが指すファイルのコンテンツをアップロードするか
|
--no-guess-mime-type |
Boolean | Optional | アップロードするオブジェクトのコンテンツタイプの自動推測を無効化 |
--acl |
String | Optional | オブジェクトに適用するアクセス制御リスト
|
--content-type |
String | Optional | 明示的なコンテンツタイプ定義 |
--only-show-errors |
Boolean | Optional | エラーのみ表示し、その他のレスポンス値は表示しない |
--no-progress |
Boolean | Optional | ファイル転送の進捗率を表示しない
|
--page-size |
Integer | Optional | ページごとの項目数
|
--metadata |
String | Optional | オブジェクトと併せて保存するメタデータを設定 |
--metadata-directive |
String | Optional | 同期時のメタデータ処理方式
|
--size-only |
Boolean | Optional | オブジェクトのサイズのみを基準に同期の可否を決定 |
--exact-timestamps |
Boolean | Optional | サイズが同じオブジェクトは、タイムスタンプが完全に一致する場合にのみ同期対象から除外
|
--delete |
Boolean | Optional | コピー元には存在せず、コピー先のパスにのみ存在するオブジェクトを削除 |
共通オプション
awsコマンドで共通して使用するオプションについては、Object Storageのオプションをご参照ください。
例
リクエストが成功すると、同期されたオブジェクトのコピー元のパスとコピー先のパスが出力されます。
コマンド
バケット内のオブジェクトをローカルディレクトリへ同期するコマンドの例は次の通りです。
aws s3 sync s3://my-test-bucket ./local-dir \
--endpoint-url=https://kr.object.ncloudstorage.com
ローカルディレクトリ内のファイルをバケットへ同期するコマンドの例は次の通りです。
aws s3 sync ./local-dir s3://my-test-bucket \
--endpoint-url=https://kr.object.ncloudstorage.com
バケットのオブジェクトを別のバケットへ同期し、コピー元に存在しないファイルを削除するコマンドの例は次の通りです。
aws s3 sync s3://my-test-bucket s3://my-backup-bucket \
--delete \
--endpoint-url=https://kr.object.ncloudstorage.com
awscli 2バージョンでは同期コマンド実行時にサポートされていない APIを呼び出すことでエラーが発生する可能性がありますので、1.15.xバージョンの使用を推奨します。
出力
バケット内のオブジェクトをローカルディレクトリへ同期する出力の例は次の通りです。
Completed 87 Bytes/87 Bytes (1012 Bytes/s) with 2 file(s) remaining
download: s3://my-test-bucket/sample.txt to local-dir/sample.txt
Completed 87 Bytes/87 Bytes (1012 Bytes/s) with 1 file(s) remaining
download: s3://my-test-bucket/docs/report.txt to local-dir/docs/report.txt
ローカルディレクトリ内のファイルをバケットへ同期する出力の例は次の通りです。
Completed 24 Bytes/24 Bytes (613 Bytes/s) with 1 file(s) remaining
upload: local-dir/notes.txt to s3://my-test-bucket/notes.txt
バケットのオブジェクトを別のバケットへ同期する際、コピー元のバケットに存在しないファイルを削除した出力の例は次の通りです。
delete: s3://my-backup-bucket/obsolete.txt