sync

Prev Next

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 コピー元のパス
  • ローカルディレクトリまたはs3://{bucket_name}[/{prefix}]形式の S3 URI
<destination> String Required コピー先のパス
  • ローカルディレクトリまたはs3://{bucket_name}[/{prefix}]形式の S3 URI

任意オプション

syncの任意オプションです。指定しない場合、オプションにはデフォルト値が適用されます。

オプション タイプ 必須の有無 説明
--dryrun Boolean Optional コマンドを実行せずに結果だけを確認
--quiet Boolean Optional レスポンス結果を表示しない
--include String Optional 指定したパターンと一致するオブジェクトのみがコマンドに含める
  • 指定した順序で適用
--exclude String Optional 指定したパターンと一致するオブジェクトをコマンドから除外
  • 指定した順序で適用
--follow-symlinks, --no-follow-symlinks Boolean Optional シンボリックリンクが指すファイルのコンテンツをアップロードするか
  • デフォルト: --follow-symlinks
  • ローカルファイルシステムからオブジェクトをアップロードする場合のみ対象
--no-guess-mime-type Boolean Optional アップロードするオブジェクトのコンテンツタイプの自動推測を無効化
--acl String Optional オブジェクトに適用するアクセス制御リスト
  • private | public-read | public-read-write | authenticated-read
--content-type String Optional 明示的なコンテンツタイプ定義
--only-show-errors Boolean Optional エラーのみ表示し、その他のレスポンス値は表示しない
--no-progress Boolean Optional ファイル転送の進捗率を表示しない
  • --quietまたは--only-show-errorsが指定されている場合は適用しない
--page-size Integer Optional ページごとの項目数
  • 1~1000
--metadata String Optional オブジェクトと併せて保存するメタデータを設定
--metadata-directive String Optional 同期時のメタデータ処理方式
  • COPY (デフォルト)| REPLACE
    • COPY: コピー元をコピー
    • REPLACE: 再定義
--size-only Boolean Optional オブジェクトのサイズのみを基準に同期の可否を決定
--exact-timestamps Boolean Optional サイズが同じオブジェクトは、タイムスタンプが完全に一致する場合にのみ同期対象から除外
  • Object Storageからローカルへの同期の場合にのみ適用
--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