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

Object Storage Service:cp (オブジェクトのコピー)

最終更新日:Mar 12, 2026

オブジェクトのコピーは、ソースバケットから同じリージョン内の送信先バケット、または同じバケット内の別のディレクトリにオブジェクトをコピーします。オブジェクトのコンテンツは変更されません。ossutil cp コマンドを使用してオブジェクトをコピーします。

注意事項

  • オブジェクトをコピーするには、oss:GetObjectoss:ListObjects、および oss:PutObject の権限が必要です。詳細については、「RAM ユーザーへのカスタムアクセス権限ポリシーの付与」をご参照ください。

  • オブジェクトのみをコピーできます。未マージのパートはコピーできません。

  • デフォルトでは、オブジェクトタグと属性がコピーされます。属性とタグのコピーに関するルールを設定するには、--copy-props オプションを使用します。

  • アカウント間およびクロスリージョンのコピー操作はサポートされていません。アカウントまたはリージョン間でオブジェクトをコピーまたは移行するには、ossimport または データオンライン移行 を使用します。

  • -u または --update オプションを使用すると、送信先オブジェクトの有無にかかわらず、チェック対象の各オブジェクトに対してシステムが少なくとも 1 つの HEAD リクエストを送信します。データ変更が少ないシナリオでは、これにより多くの非効率なリクエストが生成され、パフォーマンスに影響を与えたり、追加のリクエスト料金が発生したりする可能性があります。ビジネス要件を評価し、不要なリソース消費を避けるためにこのオプションを慎重に使用してください。

コマンド形式

ossutil cp oss://src_bucket[/src_prefix] oss://dest_bucket[/dest_prefix] [flags]

パラメーター

説明

src_bucket

string

ソースバケットの名前。

src_prefix

string

ソースバケット内のオブジェクトのディレクトリまたは指定されたプレフィックス。

dest_bucket

string

送信先バケットの名前。

dest_prefix

string

送信先バケット内のオブジェクトのディレクトリまたは指定されたプレフィックス。

--acl

string

オブジェクトのアクセス権限。有効値:

  • private:オブジェクトは非公開です。

  • public-read:オブジェクトは公開で読み取り可能です。

  • public-read-write:オブジェクトは公開で読み書き可能です。

  • Default:バケットの設定を継承します。

--bandwidth-limit

SizeSuffix

ネットワーク帯域幅を制限し、データ転送速度を制御するために使用できます。最小値は 1024 B/s です。デフォルト単位は B/s です。

帯域幅の値に単位を指定できます。例えば、B (バイト)、K (キロバイト)、M (メガバイト)、G (ギガバイト) などです。例えば、50 M は 50 MB/s の帯域幅制限を指定します。

--bigfile-threshold

SizeSuffix

大容量ファイルのマルチパートアップロード、ダウンロード、またはコピーを有効にするためのしきい値。デフォルト値は 104857600 です。

--cache-control

string

オブジェクトがダウンロードされたときのウェブページのキャッシュ動作。

--checkers

int

並行して実行されるチェッカーの数。デフォルト値は 16 です。

--checkpoint-dir

string

再開可能な操作のチェックポイント情報を保存するディレクトリ。デフォルト値は .ossutil_checkpoint/ です。

--checksum

/

サイズまたはチェックサム (存在する場合) が送信先オブジェクトと異なるソースオブジェクトのみをコピーします。このオプションはオブジェクト間のコピーにのみ有効です。

--content-disposition

string

オブジェクトの表示方法。

--content-encoding

string

オブジェクトのエンコード形式。

--content-type

string

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

--copy-props

string

オブジェクト間のコピー操作中に属性とタグをコピーするルール。以下の設定がサポートされています:

  • default (デフォルト値):オブジェクト属性とタグの両方をコピーします。オブジェクト属性には、content-type、content-language、content-encoding、content-disposition、cache-control、expires、およびメタデータ (ユーザー定義メタデータ) が含まれます。

  • metadata:オブジェクト属性のみをコピーします。

  • none:データのみをコピーし、オブジェクト属性とタグを無視します。

-d, --dirs

string

現在のディレクトリ内のオブジェクトとサブディレクトリを処理しますが、すべてのサブディレクトリ内のすべてのオブジェクトを再帰的に処理しません。

--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

/

確認プロンプトなしで操作を強制します。

--ignore-existing

/

すでに存在する送信先オブジェクトをスキップします。

--include

stringArray

パスまたはファイル名を含めるルール。

--include-from

stringArray

ルールファイルから包含ルールを読み取ります。

-j, --job

int

同時タスク数。デフォルト値は 3 です。

説明

このパラメーターは、-f--update--size-only、または --ignore-existing パラメーターを指定した場合にのみ有効になります。

--list-objects

/

ListObjects 操作を使用してオブジェクトをリストします。

--max-size

SizeSuffix

転送するオブジェクトの最大サイズ。デフォルト単位はバイトです。B、K、M、G、T、P などの単位サフィックスも使用できます。1 K (KiB) = 1024 B。

--metadata

strings

オブジェクトのユーザーメタデータ。key=value 形式を使用します。

--metadata-directive

string

送信先オブジェクトのメタデータを設定する方法を指定します。有効値:

  • COPY

  • REPLACE

--metadata-exclude

stringArray

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

--metadata-filter

stringArray

オブジェクトのメタデータをフィルタリングするルール。

--metadata-filter-from

stringArray

ルールファイルからオブジェクトのメタデータフィルタリングルールを読み取ります。

--metadata-include

stringArray

オブジェクトのメタデータを含めるルール。

--min-age

Duration

指定された時間間隔より前に変更されたオブジェクトのみをコピーします。デフォルト単位は秒です。単位サフィックスを使用できます。例えば、1h は 1 時間を指定します。

説明

--min-age 1h は、1 時間前またはそれ以前に変更されたオブジェクトのみをコピーします。

--max-age

Duration

指定された時間間隔内に変更されたオブジェクトのみをコピーします。デフォルト単位は秒です。単位サフィックスを使用できます。例えば、1h は 1 時間を指定します。

説明

--max-age 1h は、過去 1 時間以内に変更されたオブジェクトのみをコピーします。

--min-mtime

Time

指定された時刻より後に変更されたオブジェクトのみをコピーします。時刻は協定世界時 (UTC) 形式である必要があります。例えば、2006-01-02T15:04:05。

説明

--min-mtime "2006-01-02T15:04:05" は、2006 年 1 月 2 日 15:04:05 より後に変更されたオブジェクトのみをコピーします。

--max-mtime

Time

指定された時刻より前に変更されたオブジェクトのみをコピーします。時刻は協定世界時 (UTC) 形式である必要があります。例えば、2006-01-02T15:04:05。

--min-size

SizeSuffix

転送するオブジェクトの最小サイズ。デフォルト単位はバイトです。B、K、M、G、T、P などの単位サフィックスも使用できます。1 K (KiB) = 1024 B。

--no-progress

/

プログレスバーを表示しません。

--no-error-report

/

バッチ処理のエラーレポートファイルを生成しません。

--output-dir

string

バッチ処理中に生成されるエラーレポートファイルが保存されるディレクトリ。デフォルト値は ossutil_output です。

--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

指定された値よりアルファベット順で後のオブジェクトを返します。

--storage-class

string

オブジェクトのストレージクラス。有効値:

  • Standard (標準ストレージタイプ)

  • IA (低頻度アクセス)

  • Archive (アーカイブストレージ)

  • ColdArchive: コールドアーカイブ

  • DeepColdArchive (ディープコールドアーカイブストレージ)

--tagging

string

オブジェクトのタグ。key=value 形式を使用します。

--tagging-directive

string

送信先オブジェクトのタグを設定する方法を指定します。有効値:

  • COPY

  • REPLACE

-u, --update

/

すでに存在し、ソースオブジェクトよりも最近変更された送信先オブジェクトをスキップします。

説明

送信先オブジェクトの変更時刻がソースオブジェクトと同じ場合、送信先オブジェクトは更新されます。

--version-id

string

オブジェクトのバージョン ID。

説明

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

送信先オブジェクトの命名規則は次のとおりです。

  • 単一のオブジェクトをコピーし、dest_prefix が空の場合、送信先オブジェクト名はソースオブジェクトの相対パスになります。

  • 単一のオブジェクトをコピーし、dest_prefix がスラッシュ (/) で終わる場合、送信先オブジェクト名は dest_prefix とソースオブジェクトの相対パスを組み合わせたものになります。

  • 単一のオブジェクトをコピーし、dest_prefix がスラッシュ (/) で終わらない場合、送信先オブジェクト名は dest_prefix と同じになります。

  • バッチコピーを実行し、dest_prefix がスラッシュ (/) で終わる場合、送信先オブジェクト名は dest_prefix とソースオブジェクトの相対パスを組み合わせたものになります。

  • バッチコピーを実行し、dest_prefix がスラッシュ (/) で終わらない場合、送信先オブジェクト名は dest_prefix + "/" + ソースオブジェクトの相対パスになります。

  • 単一のオブジェクトのコピー

    ossutil cp oss://examplebucket1/examplefile.txt oss://examplebucket1/desfolder/
  • 増分オブジェクトのコピー

    バッチコピーを実行し、--update オプションを指定すると、コマンドはすでに存在し、対応するソースオブジェクトよりも最近変更された送信先オブジェクトをスキップします。コマンドは次のとおりです。

    ossutil cp oss://examplebucket1/srcfolder1/ oss://examplebucket1/desfolder/ -r --update
  • 同一リージョンレプリケーション後のバケット間のオブジェクトコピー

    • --checksum パラメーターを使用してチェックサムに基づいて増分コピーを実行します。このアプローチは、厳密なコンテンツ整合性検証が必要なシナリオに適しています。例えば、失敗したバッチコピー後にオブジェクトを再送信し、正常にコピーされたオブジェクトをスキップする場合などです。システムは次の手順を実行します。

      1. まずファイルサイズを比較します。

      2. サイズが一致する場合、CRC64 チェックサムを計算して比較します。

      3. チェックサムが異なる場合にのみオブジェクトをコピーします。

      ossutil cp oss://examplebucket1/srcfolder1/ oss://examplebucket1/desfolder/ -r --checksum
    • --ignore-existing パラメーターを使用して既存のオブジェクトをスキップします。このアプローチは、既存の送信先オブジェクトを上書きせずにスキップしたい場合に適しています。

      ossutil cp oss://examplebucket1/srcfolder1/ oss://examplebucket1/desfolder/ -r --ignore-existing
  • ファイルの名前変更

    ossutil cp oss://examplebucket1/examplefile.txt oss://examplebucket1/example.txt 

    cp コマンドを使用してオブジェクトの名前を変更する場合、ソースオブジェクトはそのまま残ります。名前変更後にソースオブジェクトを削除できます。

  • オブジェクトのタグ変更

    ossutil cp oss://examplebucket1/examplefile.txt oss://examplebucket1/ --tagging "abc=1&bcd=2&……"