sync

Prev Next

Classic/VPC環境で利用できます。

Ncloud Storageバケット間、またはバケットとローカルディレクトリ間で、フォルダとオブジェクトを同期します。

構文

sync構文は次の通りです。

aws s3 sync \
    <source> \
    <destination> \
    [--dryrun] \
    [--quiet] \
    [--include <include>] \
    [--exclude <exclude>] \
    [--follow-symlinks | --no-follow-symlinks] \
    [--no-guess-mime-type] \
    [--storage-class <storage-class>] \
    [--content-type <content-type>] \
    [--cache-control <cache-control>] \
    [--content-disposition <content-disposition>] \
    [--content-encoding <content-encoding>] \
    [--content-language <content-language>] \
    [--only-show-errors] \
    [--no-progress] \
    [--page-size <page-size>] \
    [--ignore-glacier-warnings] \
    [--metadata <metadata>] \
    [--copy-props <copy-props>] \
    [--metadata-directive <metadata-directive>] \
    [--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 アップロードするオブジェクトのコンテンツタイプの自動推測を無効化
--storage-class String Optional オブジェクトを保存するストレージクラスを指定
  • STANDARD (デフォルト) | ONEZONE_IA | DEEP_ARCHIVE
--content-type String Optional 明示的なコンテンツタイプ定義
--cache-control String Optional キャッシュ動作を設定
--content-disposition String Optional オブジェクトの表示方式を指定
--content-encoding String Optional コンテンツエンコードを設定
--content-language String Optional コンテンツ言語を設定
--only-show-errors Boolean Optional エラーのみ表示し、その他のレスポンス値は表示しない
--no-progress Boolean Optional ファイル転送の進捗率を表示しない
  • --quietまたは--only-show-errorsが指定されている場合は適用しない
--page-size Integer Optional ページごとの項目数
  • 1~1000
--ignore-glacier-warnings Boolean Optional Deep Archiveにあるオブジェクトに対する変更操作(コピー、ダウンロード、移動など)に対応していないという警告を表示しない
--metadata String Optional オブジェクトと併せて保存するメタデータを設定
--copy-props String Optional コピー元のオブジェクトからコピーする属性値を設定
  • none | metadata-directive | default(デフォルト)
    • none: 属性をコピーしない
    • metadata-directive: コンテンツ関連の属性とメタデータをコピー
    • default: metadata-directiveコピー先の属性に追加してコピー
  • Ncloud Storageと Ncloud Storage間の同期時のみ適用
--metadata-directive String Optional 同期時のメタデータ処理方式
  • COPY (デフォルト)| REPLACE
    • COPY: コピー元をコピー
    • REPLACE: 再定義
--size-only Boolean Optional オブジェクトのサイズのみを基準に同期の可否を決定
--exact-timestamps Boolean Optional サイズが同じオブジェクトは、タイムスタンプが正確に一致する場合にのみ同期対象から除外
  • Ncloud Storageからローカルへ同期する場合にのみ適用
--delete Boolean Optional コピー元には存在せず、コピー先のパスにのみ存在するオブジェクトを削除

共通オプション

awsコマンドで共通して使用するオプションについては、Ncloud Storageのオプションをご参照ください。

例

リクエストが成功すると、実行した操作のタイプとともに、コピー元のパスとコピー先のパスが出力されます。

コマンド

バケットを別のバケットへ同期すると、Standard Classに保存されているオブジェクトおよび復元済みの Deep Archive Classオブジェクトのみがコピーされ、復元されていないオブジェクトはスキップして警告が表示されます。コマンドの例は次の通りです。

aws s3 sync s3://my-test-bucket s3://my-sync-bucket \
    --endpoint-url=https://kr.ncloudstorage.com

コピー元に存在しないオブジェクトを削除してローカルディレクトリをバケットへ同期するコマンドの例は次の通りです。

aws s3 sync ./sync s3://my-sync-bucket \
    --delete \
    --endpoint-url=https://kr.ncloudstorage.com

特定のパターンを除外してバケットのオブジェクトをローカルディレクトリへ同期するコマンドの例は次の通りです。

aws s3 sync s3://my-sync-bucket ./ncs \
    --exclude "*img/*" \
    --endpoint-url=https://kr.ncloudstorage.com

出力

バケットを別のバケットへ同期する出力の例は次の通りです。

copy: s3://my-test-bucket/sample.txt to s3://my-sync-bucket/sample.txt
copy: s3://my-test-bucket/img/copy.png to s3://my-sync-bucket/img/copy.png
copy: s3://my-test-bucket/large.bin to s3://my-sync-bucket/large.bin
warning: Skipping file s3://my-test-bucket/img/image2.png. Object is of storage class GLACIER. Unable to perform copy operations on GLACIER objects. You must restore the object to be able to perform the operation. See aws s3 copy help for additional parameter options to ignore or force these transfers.
参考

CLI警告メッセージでは、Deep Archive ClassはGLACIERと表示されます。

コピー元に存在しないオブジェクトを削除してローカルディレクトリをバケットへ同期する出力の例は次の通りです。

upload: sync/report.txt to s3://my-sync-bucket/report.txt
upload: sync/img/image.png to s3://my-sync-bucket/img/image.png
delete: s3://my-sync-bucket/sample.txt
delete: s3://my-sync-bucket/large.bin

特定のパターンを除外してバケットのオブジェクトをローカルディレクトリへ同期する出力の例は次の通りです。

download: s3://my-sync-bucket/sample.txt to ncs/sample.txt
download: s3://my-sync-bucket/large.bin to ncs/large.bin