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

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

最終更新日:Aug 29, 2026

ローカルのファイル、画像、動画、またはその他のリソースを OSS にアップロードする場合、または大容量ファイルをアップロードする場合は、ossutil の cp コマンドを使用します。

注意事項

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

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

  • ossutil 1.0 で利用可能だった --snapshot-path オプションは、ossutil 2.0 で削除されました。増分アップロードを実行するには、代わりに -u (--update) オプションを使用します。

  • -u, --update オプションを使用すると、宛先オブジェクトが存在するかどうかに関わらず、システムは各ファイルに対して少なくとも 1 つの HEAD リクエストを送信して宛先オブジェクトと比較します。データが頻繁に変更されないシナリオでは、これにより多くの非効率なリクエストが生成され、パフォーマンスが低下したり、追加のリクエスト料金が発生したりする可能性があります。不要なリソース消費を避けるために、このオプションを使用する前に、ビジネスニーズを慎重に評価してください。

コマンド構文

ossutil cp source dest [flags]
重要
  • ossutil 2.3.0 以降、--job、--parallel、--bigfile-threshold、--part-size、および --write-buffer-size オプションは設定ファイルで設定できます。設定ファイルの対応するプロファイルセクションに key=value 形式 (例: job=10) で追加するか、ossutil config set を使用して設定します。コマンドラインオプションは、設定ファイルの設定よりも優先されます。

  • ossutil 2.4.0 以降、cp コマンドでシンボリックリンクされたサブディレクトリのアップロードをサポートするために --enable-symlink-dir オプションが追加されました。

パラメーター

タイプ

説明

source

string

ローカルファイルパス。相対パス、絶対パス、および - をサポートします。- に設定すると、標準入力からデータが読み取られます。

dest

string

宛先バケット内のファイルパス。例: oss://bucket[/prefix]。

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

説明

ossutil 2.3.0 以降、設定ファイルでの設定をサポートします。

--cache-control

string

オブジェクトが Web ブラウザーによってダウンロードされる際のキャッシュ動作を指定します。

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

  • ossutil 2.3.0 以降、設定ファイルでの設定をサポートします。

--listObjects

/

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

--max-size

SizeSuffix

転送する最大ファイルサイズ。デフォルトの単位はバイトです。サフィックスも使用できます:B|K|M|G|T|P。注:1K (KiB) = 1024B。

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

指定された時間間隔より前に変更されたファイルのみをアップロードします。デフォルトの単位は秒です。h (時間) などのサフィックスを使用できます。例:1h は 1 時間を意味します。

説明

--min-age 1h は、1 時間以上前に変更されたファイルのみをアップロードします。

--max-age

Duration

指定された時間間隔内に変更されたファイルのみをアップロードします。デフォルトの単位は秒です。h (時間) などのサフィックスを使用できます。例:1h は 1 時間を意味します。

説明

--max-age 1h は、過去 1 時間以内に変更されたファイルのみをアップロードします。

--min-mtime

Time

指定された時刻 (例:2006-01-02T15:04:05) 以降に変更されたファイルのみをアップロードします。

--max-mtime

Time

指定された時刻 (例:2006-01-02T15:04:05) 以前に変更されたファイルのみをアップロードします。

--min-size

SizeSuffix

転送する最小ファイルサイズ。デフォルトの単位はバイトです。サフィックスも使用できます:B|K|M|G|T|P。注:1K (KiB) = 1024B。

--no-progress

/

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

--page-size

int

バッチアップロード中にページごとにリストされるオブジェクトの最大数。デフォルト値:1000。有効範囲:1~1000。

--parallel

int

単一ファイルに対する内部操作の同時タスク数。

説明

ossutil 2.3.0 以降、設定ファイルでの設定をサポートします。

--part-size

SizeSuffix

マルチパートアップロードのパートサイズ。デフォルトでは、ossutil はファイルサイズに基づいて適切なパートサイズを計算します。有効範囲:100 KiB~5 GiB。

説明

ossutil 2.3.0 以降、設定ファイルでの設定をサポートします。

-r, --recursive

/

操作を再帰的に実行します。このオプションを指定すると、コマンドはバケット内の一致するすべてのオブジェクトに対して操作を実行します。それ以外の場合は、パスで指定されたオブジェクトに対してのみ操作を実行します。

--request-payer

string

リクエストの支払い方法。バケットがリクエスト元支払いモードを使用している場合にこのパラメーターを設定します。有効値:requester。

--size-only

/

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

--storage-class

string

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

  • Standard:標準ストレージ。

  • IA:低頻度アクセスストレージ。

  • Archive:アーカイブストレージ。

  • ColdArchive:コールドアーカイブストレージ。

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

--tagging

strings

オブジェクトのタグ (key=value 形式)。

--tagging-directive

string

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

  • COPY

  • REPLACE

-u, --update

/

宛先にすでに存在し、ソースファイルよりも更新日時が新しいファイルをスキップします。

説明

ファイルが宛先にすでに存在するが、ソースファイルよりも更新日時が古い場合、ファイルは更新されます。

--ignore-existing

/

宛先にすでに存在するファイルをスキップします。

説明

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

オブジェクトの命名規則は次のとおりです:

  • 単一ファイルのアップロードの場合、プレフィックスが空であれば、オブジェクト名はファイル名になります。

  • 単一ファイルのアップロードの場合、プレフィックスが "/" で終わる場合、オブジェクト名はプレフィックス + ファイル名になります。

  • バッチアップロードの場合、プレフィックスが空であれば、オブジェクト名はソースファイルの相対パスになります。

  • バッチアップロードの場合、プレフィックスが "/" で終わる場合、オブジェクト名はプレフィックス + ソースファイルの相対パスになります。

  • バッチアップロードの場合、プレフィックスが "/" で終わらない場合、オブジェクト名はプレフィックス + "/" + ソースファイルの相対パスになります。

説明

ソースファイルの相対パスは、ルートディレクトリの後に始まります。たとえば、cp /root/dir/ ... を実行する場合、ファイル /root/dir/subdir/test.txt の相対パスは subdir/test.txt です。

大容量ファイルのアップロードにおける推奨パラメーター

100 MB を超えるファイルをアップロードすると、ossutil は自動的にマルチパートアップロードに切り替わります。アップロード速度を向上させ、再開可能なアップロードを有効にするには、次のパラメーターを一緒に使用します:

パラメーター

推奨値

説明

-j, --job

10

複数のファイルをアップロードするための同時タスク数。デフォルト値:3。このオプションは、-f、--update、--size-only、または --ignore-existing も指定した場合にのみ有効になります。

--parallel

10

単一ファイルに対する内部操作 (マルチパートアップロードなど) の同時タスク数。この値を増やすと、単一の大容量ファイルのアップロードが高速化されます。

--checkpoint-dir

/path/to/checkpoint

再開可能なアップロードに使用されるディレクトリ。

--checkpoint-dir で指定されたディレクトリは、OSS バケットではなく、ローカルサーバー上に作成されます。ossutil は、このパスの下に .ossutil_checkpoint サブディレクトリを自動的に作成し、アップロードの進捗 (マルチパートアップロード ID とパート情報を含む) を記録する .ucp チェックポイントファイルを保存します。

アップロードが中断された場合は、同じコマンドを再度実行します。ossutil はチェックポイントファイルからアップロードを再開し、同じマルチパートアップロード ID を再利用して、すでにアップロードされたパートを再アップロードしません。

例:

ossutil cp localfile.tar oss://examplebucket/desfolder/ -j 10 --parallel 10 --checkpoint-dir /path/to/checkpoint

例

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

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

    ローカルファイル 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.rar を examplebucket の desfolder フォルダに 20 MB/s でアップロードします。デフォルトの単位はバイト/秒 (B/s) です。

    ossutil cp D:/upload.rar oss://examplebucket/desfolder/ --bandwidth-limit 20971520
  • ローカルファイル file.rar を examplebucket の desfolder フォルダにアップロードし、アップロード速度を 50 MB/s に制限します。単位をメガバイト/秒 (MB/s) として指定します。

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