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

Object Storage Service:cp(ファイルのアップロード)

最終更新日:Mar 31, 2026

ossutil の cp コマンドを使用して、ローカルファイルを OSS にアップロードします。このコマンドは、大容量ファイルのアップロードもサポートしています。

注意事項

  • ファイルをアップロードするには、oss:PutObjectoss:ListParts、および oss:AbortMultipartUpload 権限が必要です。詳細については、「RAM ユーザーへのカスタムポリシーの追加」をご参照ください。

  • バッチアップロードは、ソースがディレクトリである場合のみサポートされます。

  • -u, --update オプションを使用すると、送信先ファイルの有無に関わらず、各ファイルに対して少なくとも 1 回の HEAD リクエストが実行され、比較処理が行われます。データの変更頻度が低い場合、多数の非効率なリクエストが発生し、パフォーマンス低下やコスト増加を招く可能性があります。このオプションを使用する際は、不要なリソース消費を避けるため、業務要件を十分に検討してください。

コマンド構文

ossutil cp source dest [flags]

パラメーター

説明

source

string

ローカルファイルのパスです。相対パス、絶対パス、または - を指定できます。- を指定した場合、ossutil は標準入力からデータを読み込みます。

dest

string

送信先オブジェクトのパスで、oss://bucket[/prefix] の形式で指定します。

--acl

string

オブジェクトのアクセス制御リスト (ACL) です。有効な値は以下のとおりです。

  • private

  • public-read

  • public-read-write

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

--bandwidth-limit

SizeSuffix

データ転送レートの制限値です。最小値は 1024 B/s です。デフォルト単位は B/s です。

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

--bigfile-threshold

SizeSuffix

マルチパートアップロード、ダウンロード、またはコピーを開始するファイルサイズのしきい値です。デフォルト値は 104857600 バイト(100 MiB)です。

--cache-control

string

ブラウザなどのクライアントがオブジェクトをどのようにキャッシュするかを指定します。

--content-disposition

string

オブジェクトをインライン表示するか、添付ファイルとしてダウンロードするかを指定します。

--content-encoding

string

オブジェクトのコンテンツエンコーディングを指定します。

--content-type

string

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

--copy-props

string

ソースオブジェクトからコピーするプロパティを指定します。有効な値は以下のとおりです。

  • none

  • metadata

  • default

--checkpoint-dir

string

  • このオプションを省略した場合、再開可能なアップロードは無効になります。

  • 再開可能なアップロードを有効化します。このオプションを指定すると、チェックポイントファイルは指定されたディレクトリ内の .ossutil_checkpoint サブディレクトリに保存されます。

-d, --dirs

string

ディレクトリをコピーする場合、このオプションを指定すると、ソースディレクトリの最上位レベルにあるファイルのみがコピーされ、サブディレクトリは無視されます。

--encoding-type

string

入力オブジェクト名またはファイル名のエンコーディング方式です。有効な値は url のみです。

--end-with

string

指定した文字列で終わるファイル名のみを含めます。

--exclude

stringArray

パスまたはファイル名に対する除外ルールです。

--exclude-from

stringArray

ルールファイルから除外ルールを読み込みます。

--expires

stringArray

キャッシュされたコンテンツの絶対的な有効期限を指定します。

--files-from

stringArray

ファイルからソースファイル名の一覧を読み込み、空行およびコメント行は無視します。このオプションはフィルタリング専用です。

--files-from-raw

stringArray

ファイルからソースファイル名の一覧を読み込みます。このオプションはフィルタリング専用です。

--filter

stringArray

パスまたはファイル名に対するフィルタリングルールです。

--filter-from

stringArray

ルールファイルからフィルタリングルールを読み込みます。

-f, --force

/

確認プロンプトを表示せずに操作を強制実行します。

--include

stringArray

パスまたはファイル名の包含ルール。

説明

フィルター オプションについて詳しくは、「フィルター オプション」をご参照ください。

--include-from

stringArray

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

-j, --job

int

同時 アップロードタスクの数。デフォルト値: 3。

説明

このオプションは、-f--update--size-only、または --ignore-existing と併用した場合にのみ有効です。

--listObjects

/

ListObjects API オペレーションを使用してオブジェクトを一覧表示します。

--max-size

SizeSuffix

転送対象となるファイルの最大サイズです。デフォルト単位はバイトですが、B、K、M、G、T、P などの接尾辞を指定できます。1 K(KiB)= 1024 B です。

--metadata

strings

キー=値の形式でオブジェクトのユーザーメタデータを指定します。

--metadata-directive

string

送信先オブジェクトのメタデータの設定方法を指定します。有効な値は以下のとおりです。

  • COPY

  • REPLACE

--metadata-exclude

stringArray

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

--metadata-filter

stringArray

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

--metadata-filter-from

stringArray

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

--metadata-include

stringArray

オブジェクトのメタデータに対する包含ルールです。

--min-age

Duration

指定された時間間隔以上前に変更されたファイルのみをアップロードします。デフォルトの単位は秒です。1 時間を意味する「1h」などの単位接尾辞を使用できます。

説明

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

/

進行状況バーを無効化します。

--page-size

int

バッチアップロード時のページ分割リクエストで、1 回のリクエストで一覧表示するオブジェクトの最大数です。値の範囲は 1~1,000 です。デフォルト値は 1000 です。

--parallel

int

単一の大きなファイルの場合、同時にアップロードするパート数を設定します。

--part-size

SizeSuffix

マルチパートアップロードにおける各パートのサイズです。デフォルトでは、ossutil がファイルサイズに基づいて最適なパートサイズを自動計算します。値の範囲は 100 KiB~5 GiB です。

-r, --recursive

/

ディレクトリをアップロードする場合、すべてのファイルおよびサブディレクトリを再帰的にアップロードするには、このオプションを指定する必要があります。

--request-payer

string

リクエストの支払者を指定します。送信先バケットで「Requester Pays」モードが有効になっている場合は、requester を指定します。

--size-only

/

送信先ファイルとサイズが異なるソースファイルのみをアップロードします。

--storage-class

string

オブジェクトのストレージクラスです。有効な値は以下のとおりです。

  • Standard

  • IA

  • Archive

  • Cold Archive

  • Deep Cold Archive

--tagging

strings

キー=値の形式でオブジェクトのタグを指定します。複数のタグを追加するには、このオプションを複数回指定できます。

--tagging-directive

string

送信先オブジェクトのタグの設定方法を指定します。有効な値は以下のとおりです。

  • COPY

  • REPLACE

-u, --update

/

ソースファイルが送信先ファイルより新しい場合、または送信先ファイルが存在しない場合にのみ、ファイルをアップロードします。

説明

送信先ファイルの最終更新時間がソースファイルと同じ場合、そのファイルは再アップロードされます。

--ignore-existing

/

既に存在する送信先ファイルをスキップします。

説明

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

送信先オブジェクトの名前は、以下のルールに基づいて決定されます。

  • 単一ファイルをアップロードし、プレフィックスが空の場合、オブジェクト名はソースファイル名と同じになります。

  • 単一ファイルをアップロードし、プレフィックスがスラッシュ(/)で終わる場合、オブジェクト名は prefix + ソースファイル名になります。

  • 複数ファイルをアップロードし、プレフィックスが空の場合、オブジェクト名はソースファイルの相対パスになります。

  • 複数ファイルをアップロードし、プレフィックスがスラッシュ(/)で終わる場合、オブジェクト名は prefix + ソースファイルの相対パスになります。

  • 複数ファイルをアップロードし、プレフィックスがスラッシュ(/)で終わらない場合、オブジェクト名は prefix + / + ソースファイルの相対パスになります。

説明

相対パスとは、コマンドで指定されたソースディレクトリ以降のファイルパスの部分を指します。たとえば、コマンド ossutil cp -r /root/dir/ oss://... の場合、/root/dir/subdir/test.txt の相対パスは subdir/test.txt です。

使用例

単一ファイルのアップロード

  • 単一ファイルのアップロード

    ローカルファイル examplefile.txt を、examplebucket バケット内の desfolder/ ディレクトリにアップロードします。

    ossutil cp D:/localpath/examplefile.txt oss://examplebucket/desfolder/

複数ファイルのアップロード

  • ディレクトリ内のすべてのファイルをアップロード

    ローカルディレクトリ localfolder/ 内のすべてのファイルを、examplebucket バケット内の desfolder/ ディレクトリに再帰的にアップロードします。

    ossutil cp -r D:/localpath/localfolder/ oss://examplebucket/desfolder/
  • 特定の条件に一致するファイルをバッチアップロード

    .txt 拡張子を持つファイルのみを再帰的にアップロードします。

    ossutil cp -r D:/localpath/localfolder/ oss://examplebucket/desfolder/ --include "*.txt"
  • 10 個の同時タスクを使用したバッチアップロード

    ossutil cp -r D:/localpath/localfolder/ oss://examplebucket/desfolder/ -f -j 10

アップロード速度の制限

  • ローカルファイル upload.rarexamplebucket バケット内の desfolder/ ディレクトリにアップロードし、アップロード速度を 20 MB/s に制限します。帯域幅制限はバイト毎秒(B/s)で指定されています。

    ossutil cp D:/upload.rar oss://examplebucket/desfolder/ --bandwidth-limit 20971520
  • ローカルファイル file.rarexamplebucket バケット内の desfolder/ ディレクトリにアップロードし、アップロード速度を 50 MB/s に制限します。帯域幅制限の単位は MB/s として明示されています。

    ossutil cp D:/file.rar oss://examplebucket/desfolder/ --bandwidth-limit 50M