すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:ローカルファイルを OSS に同期する

最終更新日:Mar 04, 2025

sync コマンドを使用して、ローカルファイルを Object Storage Service (OSS) に同期できます。

使用上の注意

  • ローカルファイルを OSS に同期するには、oss:PutObject、oss:ListObjects、および oss:DeleteObject の権限が必要です。詳細については、「RAM ユーザーにカスタムポリシーをアタッチする」をご参照ください。

  • sync コマンドと cp コマンドの違い

    • sync コマンドを実行してローカルソースから OSS バケットにデータを同期する場合、コマンドに --delete オプションを追加して、ローカルソースには存在しないがバケットには存在するすべてのファイルを削除できます。このようにして、同期されたファイルのみがバケットに保持されます。 cp コマンドは --delete オプションをサポートしていません。

    • sync コマンドはローカルソースと OSS バケットを同時にスキャンし、ローカルファイルをコピーします。 cp コマンドはソースをスキャンし、オブジェクトを同時にコピーします。

    • sync コマンドのソースファイルのデフォルト数と最大数は、それぞれ 100 万と 500 万です。 cp コマンドのソースオブジェクトの数に制限はありません。

コマンド構文

ossutil sync file_url cloud_url

パラメーター

データ型

説明

file_url

string

ファイルを同期するローカルディレクトリのパス。例: Linux では /localfolder/、Windows では D:\localfolder\

cloud_url

string

ローカルファイルを同期する OSS ディレクトリ。パスは oss://bucketname/path/ 形式です。例: oss://examplebucket/exampledir/cloud_url の値がスラッシュ (/) で終わっていない場合、ossutil は値の末尾にスラッシュを自動的に追加します。

--acl

string

宛先オブジェクトのアクセス制御リスト (ACL)。有効な値:

  • private: ACL は非公開です。

  • public-read: ACL は公開読み取りです。

  • public-read-write: ACL は公開読み書きです。

  • default: オブジェクトはバケットから ACL を継承します。

--backup-dir

string

バックアップディレクトリ。

--bigfile-threshold

int

マルチパートアップロード、ダウンロード、およびコピーのオブジェクトサイズしきい値。デフォルト値: 104857600。

--cache-control

string

オブジェクトのダウンロード時の Web ブラウザーでのキャッシュ動作。

--checkpoint-dir

string

チェックポイントファイルが格納されるディレクトリ。デフォルト値: .ossutil_checkpoint/

--checksum

/

次のいずれかの条件が満たされた場合にのみ、ソースオブジェクトがコピーされるように指定します。a. ソースオブジェクトのサイズが宛先オブジェクトのサイズと異なる。b. ソースオブジェクトの CRC-64 が宛先オブジェクトの CRC-64 と異なるが、ソースオブジェクトのサイズは宛先オブジェクトのサイズと同じ。このパラメーターは、オブジェクトコピー操作に対してのみ有効です。

--content-disposition

string

オブジェクトの表示モード。

--content-encoding

string

宛先オブジェクトのエンコードに使用されるエンコード方式。

--content-type

string

宛先オブジェクトのコンテンツタイプ。

--copy-props

string

ローカルファイルから同期する属性。有効な値:

  • none

  • metadata

  • default

--delete

/

宛先パスに存在するがソースパスには存在しないオブジェクトを削除します。

-d, --dirs

/

サブディレクトリ内のオブジェクトを再帰的に照合する代わりに、現在のディレクトリ内のオブジェクトとサブディレクトリを照合します。

--encoding-type

string

オブジェクト名のエンコードに使用されるエンコード方式。有効な値: url。

--end-with

string

名前がアルファベット順で --end-with パラメーターの値以前であるオブジェクトを返します。

--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 操作を呼び出してオブジェクトをリストするように指定します。

--min-age

Duration

少なくとも指定された時間前に最終変更されたファイルを転送します。デフォルトの単位は s (秒) です。次の単位のいずれかを指定することもできます: ms、s、m、h、d、w、M、および y。

たとえば、--min-age 2d は、少なくとも 2 日前に最終変更されたファイルをツールが転送するように指定します。

--max-age

Duration

このパラメーターで定義された期間より前に最終変更されたファイルを転送します。デフォルトの単位は s (秒) です。次の単位のいずれかを指定することもできます: ms、s、m、h、d、w、M、および y。

--min-mtime

Time

このパラメーターで定義された UTC 時間より前に最終変更されたファイルを転送します。

たとえば、--min-mtime "2023-02-06 14:00:00" は、2023 年 2 月 6 日 14:00:00 より前に最終変更されたファイルをツールが転送するように指定します。

--max-mtime

Time

このパラメーターで定義された UTC 時間より後に最終変更されたファイルを転送します。

--max-size

SizeSuffix

転送できるファイルの最大サイズ。デフォルトでは、サイズはバイト (B) 単位です。数値の後に 1024 ベースの単位を付けることができます: バイトの場合は B、キビバイトの場合は K、メビバイトの場合は M、ギビバイトの場合は G、テビバイトの場合は T、ペビバイトの場合は P。

--max-sync-num

int

ローカルソースから OSS バケットに同期できるファイルの最大数。デフォルト値: 2000000。最大値: 5000000。

--metadata

strings

key=value 形式のオブジェクトのユーザーメタデータ。

--metadata-directive

string

オブジェクトのメタデータを構成するために使用されるメソッド。有効な値:

  • COPY

  • REPLACE

--metadata-exclude

stringArray

オブジェクトメタデータの除外ルール。

--metadata-filter

stringArray

オブジェクトメタデータのフィルタールール。

--metadata-filter-from

stringArray

ファイルからメタデータフィルタールールを読み取ります。

--metadata-include

stringArray

オブジェクトメタデータの包含ルール。

--min-size

SizeSuffix

転送できるファイルの最小サイズ。デフォルトでは、サイズはバイト (B) 単位です。数値の後に 1024 ベースの単位を付けることができます: バイトの場合は B、キビバイトの場合は K、メビバイトの場合は M、ギビバイトの場合は G、テビバイトの場合は T、ペビバイトの場合は P。

--no-progress

/

進捗状況を表示しないように指定します。

--page-size

int

ページごとに返されるオブジェクトの最大数。デフォルト値: 1000。有効な値: 1 ~ 1000。

--parallel

int

単一オブジェクトに対する内部操作の同時タスクの数。

--part-size

SizeSuffix

パートサイズ。デフォルトでは、ossutil はローカルファイルサイズに基づいて適切なパートサイズを計算します。パートサイズは 100 KiB から 5 GiB の範囲です。

-r, --recursive

/

コマンドをオブジェクトに対して再帰的に実行するように指定します。このパラメーターを指定すると、コマンドはバケット内のすべての一致するオブジェクトに対して操作を実行します。このパラメーターを指定しないと、コマンドは指定されたパス内の指定されたオブジェクトに対してのみ操作を実行します。

--request-payer

string

リクエストの支払者。リクエスト元支払いモードが有効になっている場合は、このパラメーターを指定します。有効な値: requester。

--size-only

/

ソースファイルのサイズが宛先オブジェクトのサイズと異なる場合にのみ、ソースファイルをコピーします。

--start-after

string

名前がアルファベット順で --start-after パラメーターの値より後であるオブジェクトを返すように指定します。

--storage-class

string

オブジェクトのストレージタイプ。有効な値:

  • Standard

  • IA

  • Archive

  • ColdArchive

  • DeepColdArchive

--tagging

strings

key=value ペアのオブジェクトのタグ。

--tagging-directive

string

宛先ファイルのタグを構成するために使用されるメソッド。有効な値:

  • COPY

  • REPLACE

-u, --update

/

ソースファイルの最終変更時刻が宛先オブジェクトの最終変更時刻より後の場合にのみ、ソースファイルをコピーします。

--ignore-existing

/

既存の宛先オブジェクトを無視します。

説明

詳細については、「コマンドラインオプション」をご参照ください。

  • ローカルデバイスの localfolder ディレクトリを examplebucket バケットの destfolder ディレクトリに同期する

    ossutil sync D:/localfolder/ oss://examplebucket/destfolder/
  • ローカルデバイスの localfolder ディレクトリにある .txt サフィックスを含む名前のファイルを examplebucket バケットの destfolder ディレクトリに同期する

    ossutil sync D:/localfolder/ oss://examplebucket/destfolder/ --include "*.txt"
  • ローカルデバイスの localfolder ディレクトリにある .txt サフィックスを含まない名前のファイルを examplebucket バケットの destfolder ディレクトリに同期する

    ossutil sync D:/localfolder/ oss://examplebucket/destfolder/ --exclude "*.txt"
  • ローカルデバイスの localfolder ディレクトリを examplebucket バケットの destfolder ディレクトリに同期し、localfolder ディレクトリに存在しないオブジェクトを destfolder ディレクトリから削除する

    --delete オプションを追加して、localfolder ディレクトリに存在しないすべてのオブジェクトを destfolder ディレクトリから削除します。このようにして、同期されたオブジェクトのみが destfolder ディレクトリに保持されます。

    ossutil sync D:/localfolder/ oss://examplebucket/destfolder/ --delete