sync コマンドは、ローカルファイルを OSS に同期します。
注意事項
ローカルファイルを OSS に同期するには、oss:PutObject、oss:ListObjects、および oss:DeleteObject 権限が必要です。詳細については、「Resource Access Management (RAM) ユーザーにカスタムアクセスポリシーを付与する」をご参照ください。
sync コマンドと cp コマンドの違い
sync コマンドを使用してデータを OSS に同期する場合、ossutil は送信先に存在しソースに存在しないファイルを削除する --delete オプションをサポートしており、今回の操作で同期されたファイルのみを保持します。cp コマンドは --delete オプションをサポートしていません。
sync コマンドはコピー前にソースと送信先の両方をスキャンします。cp コマンドはソースをスキャンしながら同時にファイルをコピーします。
デフォルトでは、sync は最大 200 万件のソースファイルをサポートし、上限は 500 万件です。cp コマンドにはソースファイル数の制限はありません。
-u, --updateオプションを使用すると、ターゲットファイルの有無にかかわらず、各ファイルに対して少なくとも 1 回の HEAD リクエストが送信され比較が行われます。変更されるファイルが少ないシナリオでは、多くの非効率なリクエストが発生し、パフォーマンスが低下したり、追加のリクエスト課金が発生したりする可能性があります。このオプションを使用する前に、実際のビジネス要件を慎重に評価し、不要なリソース消費を回避してください。
コマンド構文
ossutil sync file_url cloud_urlパラメーター | タイプ | 説明 |
file_url | string | 同期するローカルフォルダのパス。例:Linux システムパス |
cloud_url | string | OSS フォルダパス。形式: |
--acl | string | オブジェクトのアクセス権限。有効値:
|
--backup-dir | string | バックアップファイル用ディレクトリ。 |
--bigfile-threshold | int | 大規模ファイルのマルチパートアップロード、ダウンロード、またはコピーを有効にするしきい値(デフォルト値:104857600)。 |
--cache-control | string | Web ブラウザーによるオブジェクトのダウンロード時のキャッシュ動作を指定します。 |
--checkpoint-dir | string | 再開可能な転送のチェックポイントデータ用ディレクトリ(デフォルト値: |
--checksum | / | サイズまたはチェックサム(利用可能な場合)が送信先と異なるソースファイルのみをコピーします。オブジェクト間コピー操作でのみ適用されます。 |
--content-disposition | string | オブジェクトの表示方法を指定します。 |
--content-encoding | string | オブジェクトのエンコーディング方式を宣言します。 |
--content-type | string | オブジェクトのコンテンツタイプ。 |
--copy-props | string | ソースオブジェクトからコピーするプロパティを決定します。有効値:
|
--delete | / | 送信先に存在しソースに存在しないファイルを削除します。 |
-d, --dirs | / | サブディレクトリ内のすべてのファイルを再帰的にリストすることなく、現在のディレクトリ内のファイルとサブディレクトリをリストします。 |
--encoding-type | string | 入力オブジェクト名またはファイル名のエンコーディング方式。有効値:url。 |
--end-with | string | アルファベット順で指定値以前または一致するオブジェクトを返します。 |
--exclude | stringArray | パスまたはファイル名に対する除外ルール。 |
--exclude-from | stringArray | ルールファイルから除外ルールを読み込みます。 |
--expires | string | キャッシュされたコンテンツの絶対有効期限を指定します。 |
--files-from | stringArray | ファイルからソースファイル名のリストを読み込み、空行またはコメント行を無視します。 |
--files-from-raw | stringArray | ファイルからソースファイル名のリストを読み込みます。 |
--filter | stringArray | パスまたはファイル名に対するフィルタリングルール。 |
--filter-from | stringArray | ルールファイルからフィルタリングルールを読み込みます。 |
-f, --force | / | 確認のプロンプトを表示せずに強制的に操作を実行します。 |
--include | stringArray | パスまたはファイル名に対する包含ルール。 |
--include-from | stringArray | ルールファイルから包含ルールを読み込みます。 |
-j, --job | int | 複数ファイル操作時の同時タスク数(デフォルト値:3)。 |
--list-objects | / | ListObjects API を使用してオブジェクトをリストします。 |
--min-age | Duration | 指定された時間間隔より前に変更されたファイルのみを転送します。デフォルト単位は秒です。h(時間)などの接尾辞を使用できます。例:1h は 1 時間を意味します。 説明
|
--max-age | Duration | 指定された時間間隔以内に変更されたファイルのみを転送します。デフォルト単位は秒です。h(時間)などの接尾辞を使用できます。例:1h は 1 時間を意味します。 説明
|
--min-mtime | Time | 指定時刻以降に変更されたファイルのみを転送します。時刻形式:協定世界時 (UTC)。例:2006-01-02T15:04:05。 説明
|
--max-mtime | Time | 指定時刻以前に変更されたファイルのみを転送します。時刻形式:協定世界時 (UTC)。例:2006-01-02T15:04:05。 |
--max-size | SizeSuffix | 転送するファイルの最大サイズを制限します。デフォルト単位はバイトです。接尾辞 B|K|M|G|T|P を使用できます(1K (KiB) = 1024B)。 |
--max-sync-num | int | 同期するファイルまたはオブジェクトの最大数(デフォルト値:2000000)。最大許容値:5000000。 |
--metadata | strings | key=value 形式でオブジェクトのユーザー定義メタデータを指定します。 |
--metadata-directive | string | 送信先オブジェクトのメタデータ設定方法を指定します。有効値:
|
--metadata-exclude | stringArray | オブジェクトのメタデータに対する除外ルール。 |
--metadata-filter | stringArray | オブジェクトのメタデータに対するフィルタリングルール。 |
--metadata-filter-from | stringArray | ルールファイルからオブジェクトのメタデータフィルタリングルールを読み込みます。 |
--metadata-include | stringArray | オブジェクトのメタデータに対する包含ルール。 |
--min-size | SizeSuffix | 転送するファイルの最小サイズを制限します。デフォルト単位はバイトです。接尾辞 B|K|M|G|T|P を使用できます(1K (KiB) = 1024B)。 |
--no-progress | / | 進行状況バーを表示しません。 |
--page-size | int | バッチ操作中に 1 ページあたりにリストされるオブジェクトの最大数(デフォルト値:1000)。有効範囲:1 ~ 1000。 |
--parallel | int | 単一ファイルに対する内部操作の同時タスク数。 |
--part-size | SizeSuffix | マルチパート操作時のパーツサイズ。デフォルトでは、ossutil がファイルサイズに基づいて適切なパーツサイズを計算します。有効範囲:100 KiB ~ 5 GiB。 |
-r, --recursive | / | 再帰的に操作を実行します。このオプションを指定すると、コマンドはバケット内のすべての一致するオブジェクトに対して操作を行います。指定しない場合は、指定パスにあるオブジェクトに対してのみ操作を行います。 |
--request-payer | string | リクエストの支払い方法。バケットがリクエスト元支払いモードを使用している場合にこのパラメーターを設定します。有効値:requester。 |
--size-only | / | サイズが送信先と異なるソースファイルのみをコピーします。 |
--start-after | string | アルファベット順で指定値より後(指定値を含まない)のオブジェクトを返します。 |
--storage-class | string | オブジェクトのストレージクラス。有効値:
|
--tagging | strings | key=value 形式でオブジェクトのタグを指定します。 |
--tagging-directive | string | 送信先オブジェクトのタグ設定方法を指定します。有効値:
|
-u, --update | / | 送信先にすでに存在し、かつソースファイルよりも新しい更新時刻を持つファイルをスキップします。 説明 送信先にすでにファイルが存在していても、その更新時刻がソースファイルよりも古い場合は、ファイルが更新されます。 |
--ignore-existing | / | 送信先にすでに存在するファイルをスキップします。 |
ossutil 2.3.0 以降では、--job、--parallel、--bigfile-threshold、--part-size、および --write-buffer-size オプションを設定ファイルを通じて構成できます。設定ファイル内の対応するプロファイルセクションに key=value 形式で追記する(例:job=10)か、ossutil config set を使用して書き込むことができます。コマンドラインオプションは設定ファイルの設定よりも優先されます。
詳細については、「コマンドラインオプション」をご参照ください。
使用例
ローカルの localfolder フォルダを OSS に同期します。
ossutil sync D:/localfolder/ oss://examplebucket/destfolder/ローカルの localfolder フォルダから .txt ファイルを OSS に同期します。
ossutil sync D:/localfolder/ oss://examplebucket/destfolder/ --include "*.txt"ローカルの localfolder フォルダから .txt ファイル以外を OSS に同期します。
ossutil sync D:/localfolder/ oss://examplebucket/destfolder/ --exclude "*.txt"ローカルフォルダを OSS に同期し、OSS の宛先パスにローカルに存在しないファイルを削除します。
--delete オプションを追加して、送信先に存在しソースに存在しないファイルを削除し、今回の操作で同期されたファイルのみを保持します。
ossutil sync D:/localfolder/ oss://examplebucket/destfolder/ --delete