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

Object Storage Service:OSSオブジェクトをローカルコンピューターに同期する, OSSオブジェクトをローカルコンピューターに同期する

最終更新日:Apr 07, 2025

syncコマンドを実行して、Object Storage Service (OSS) に保存されているオブジェクトをコンピューターに同期できます。

使用上の注意

  • バイナリ名

    ossutil 1.6.16以降の場合、コマンドラインでossutilをバイナリ名として直接使用できます。 オペレーティングシステムに基づいてバイナリ名を更新する必要はありません。 1.6.16より前のossutilの場合、オペレーティングシステムに基づいてバイナリ名を更新する必要があります。 詳細は、「ossutilコマンドリファレンス」をご参照ください。

  • 同期するローカルファイルの数

    -- deleteオプションを含めずにsyncコマンドを実行する場合、一度に同期できるローカルファイルの数に制限はありません。 syncコマンドの実行時に -- deleteオプションを含めると、一度に最大100万個のローカルファイルを同期できます。 同期するローカルファイルの数が1百万を超える場合、最大同期数1000000を超える。 エラーメッセージが返されます。

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

    • syncコマンドは、特定のディレクトリ内のすべてのオブジェクトとサブディレクトリを再帰的に同期します。 cpコマンドは、-rオプションが指定されている場合にのみ、オブジェクトを再帰的に同期します。

    • syncコマンドは、-- backup-dirオプションをサポートしています。 syncコマンドを実行してデータをOSSに同期する場合、コマンドでこのオプションを指定して、宛先に存在するがソースには存在しないオブジェクトを格納するためにOSSのディレクトリを指定できます。 cpコマンドは -- backup-dirオプションをサポートしていません。

    • syncコマンドは -- version-idオプションをサポートしていません。 したがって、syncコマンドを使用して、バージョン管理されたバケット内の以前のバージョンのオブジェクトを同期することはできません。 cpコマンドは、-- version-idオプションをサポートしています。

    上記の違いを除いて、syncコマンドとcpコマンドを同様に使用できます。 cpコマンドの実行方法の詳細については、「オブジェクトのダウンロード」をご参照ください。

コマンド構文

ossutil sync cloud_url  file_url
[-f --force]
[-u --update]
[--maxdownspeed <value>]
[--delete]
[--backup-dir <value>]
[--enable-symlink-dir]
[--disable-all-symlink]
[--disable-ignore-error]
[--only-current-dir]
[--output-dir <value>]
[--bigfile-threshold <value>]
[--part-size <value>]
[--checkpoint-dir <value>]
[--range <value>]
[--encoding-type <value>]
[--snapshot-path <value>]
[--include <value>]
[--exclude <value>]
[--disable-crc64]
[--payer <value>]
[-j, --job <value>]
[--parallel <value>]
[--retry-times <value>]

次の表に、コマンド構文のパラメーターとオプションを示します。

パラメータ /オプション

説明

cloud_url

同期するオブジェクトが格納されているディレクトリへのパス。 パスはoss:// bucketname/path/ 形式です。 例: oss:// examplebucket/exampledir/ cloud_urlの値がスラッシュ (/) で終わらない場合、ossutilは自動的に値の末尾に1を追加します。

ファイル_url

オブジェクトを同期するローカルディレクトリへのパス。 例: Linuxの場合は /localfolder/ 、Windowsの場合はD:\localfolder\

-f -- 力

確認を必要とせずに操作を強制します。

-u, -- update

オブジェクトがデスティネーションに存在しない場合、またはソース内のオブジェクトの最終変更時刻がデスティネーション内のオブジェクトの最終変更時刻よりも遅い場合にのみ、ossutilがソースからオブジェクトを同期するように指定します。

-- maxdownspeed

最大ダウンロード速度を指定します。 単位: KB/s。 デフォルト値: 0。ダウンロード速度が無制限であることを指定します。

-- 削除

同期されたオブジェクトのみが宛先パスに保持されるように指定します。 宛先パス内の他のオブジェクトは削除されます。

警告

コマンドで -- deleteオプションを指定するには、バケットのバージョン管理を有効にして、データが誤って削除されないようにすることをお勧めします。 バージョン管理の詳細については、「概要」をご参照ください。

-- backup-dir

宛先パスに存在するが、ソースには存在しないオブジェクトを格納するために使用されるディレクトリを指定します。

-- enable-symlink-dir

シンボリックリンクがポイントするサブディレクトリが同期されることを指定します。

-- disable-all-symlink

ディレクトリポイント内のシンボリックリンクがあるすべてのファイルおよびサブディレクトリが同期されないことを指定します。

-- disable-無視-エラー

バッチ操作中にエラーが無視されないように指定します。

-- only-current-dir

現在のディレクトリ内のオブジェクトのみを同期するように指定します。 現在のディレクトリのサブディレクトリとこれらのサブディレクトリのオブジェクトは同期されません。

-- output-dir

出力ファイルを格納するディレクトリを指定します。 出力ファイルは、バッチ同期タスクでエラーが発生したときに生成されるレポートです。

出力ファイルのディレクトリを指定しない場合、出力ファイルは現在のディレクトリのossutil_outputサブディレクトリに格納されます。

-- bigfile-threshold

再開可能ダウンロードを使用するためのオブジェクトサイズのしきい値。 オブジェクトのサイズが指定されたオブジェクトサイズのしきい値を超える場合、オブジェクトは再開可能ダウンロードを使用してダウンロードされます。 単位:バイト

デフォルトのオブジェクトサイズのしきい値は100 MBです。

有効な値: 0 ~ 9223372036854775807

-- 部分サイズ

部品サイズ。 単位:バイト デフォルトでは、ossutilはオブジェクトサイズに基づいて部品サイズを決定します。

有効な値: 1 ~ 9223372036854775807

-- checkpoint-dir

再開可能なダウンロードタスクのチェックポイント情報が格納されるディレクトリ。 タスクが失敗すると、ossutilは自動的にという名前のディレクトリを作成します。. ossutil_checkpointディレクトリにチェックポイント情報を保存します。 タスクが成功すると、ossutilはディレクトリを削除します。 チェックポイントディレクトリを指定する場合は、ディレクトリを削除できることを確認してください。

-- 範囲

特定の範囲のオブジェクトコンテンツをダウンロードし、新しいファイルとして宛先パスに保存することを指定します。 範囲の最小開始値は0で、オブジェクトのコンテンツのバイト0を示します。 このオプションの値は、次のいずれかの形式で指定できます。

  • 開始値と終了値を指定したデータ範囲

    例えば、3 − 9の値は、バイト3からバイト9までの範囲を示す。

  • 開始値

    たとえば、3- の値は、バイト3からオブジェクトの最後までの範囲を示します。

  • 終了値

    たとえば、-9の値は、バイト0からバイト9までの範囲を示します。

-- encoding-type

オブジェクトの名前をエンコードするために使用するメソッド。 値をurlに設定します。 このオプションを指定しない場合、オブジェクトの名前はエンコードされません。

-- snapshot-path

同期されたオブジェクトのスナップショットが保存されるディレクトリを指定します。 次の同期タスクで、ossutilは増分同期のためにこのディレクトリ内のスナップショットを読み取ります。

-含める

指定された条件を満たすすべてのオブジェクトを含みます。

詳細については、「オプション -- includeおよび -- exclude」をご参照ください。

-除外

指定された条件を満たすすべてのオブジェクトを除外します。

詳細については、「オプション -- includeおよび -- exclude」をご参照ください。

-- disable-crc64

CRC-64検証を無効にします。

-- 支払人

操作によって生成される料金の支払人。 指定したパスのリソースにアクセスするリクエスタに、操作によって発生する料金を支払うようにする場合は、このオプションをrequesterに設定します。

-j, -- job

マルチオブジェクト操作で実行できる同時実行タスクの数。 有効な値: 1 ~ 10000 デフォルト値: 3。

-- 平行

単一オブジェクト操作で実行できる同時実行タスクの数。 有効な値: 1 ~ 10000 このオプションを指定しない場合、操作タイプとオブジェクトサイズに基づいてこのオプションの値を指定します。

-- retry-times

エラーが発生した場合のリトライ回数。 デフォルト値は 10 です。 有効な値: 1 ~ 500

examplebucketという名前のバケットのlocaldirディレクトリには、オブジェクトa.txtb.txt、およびCという名前のサブディレクトリが含まれています。d.txtという名前のローカルファイルは、ローカルルートディレクトリのdestdirディレクトリに格納されます。 次の構造は、同期前のコンピュータとOSSのファイルとディレクトリを示しています。

examplebucket           Local root directory
└── localdir/             └── destdir/
       ├── a.txt                └── d.txt
       ├── b.txt
       └── C/
  • examplebucketのlocaldirディレクトリをコンピューターに同期します。

    ossutil sync  oss://examplebucket/localdir/  destdir/ 

    上記のコマンドを実行すると、a.txtおよびb.txtオブジェクトとCディレクトリがコンピュータのdestfolderディレクトリに追加されます。 次の構造は、同期後のコンピュータとOSSのファイルとディレクトリを示しています。

    examplebucket           Local root directory
    └── localdir/             └── destdir/
           ├── a.txt                ├── a.txt 
           ├── b.txt                ├── b.txt
           └── C/                   ├── d.txt
                                       └── C/
  • examplebucketバケットのlocaldirディレクトリをdestdirという名前のローカルディレクトリに同期します。 コマンドで -- backup-dirオプションをbackupという名前のディレクトリに設定して、destdirディレクトリに存在するがlocaldirディレクトリには存在しないオブジェクトを格納します。 これらのオブジェクトはdestdirディレクトリから削除されます。

    ossutil sync oss://examplebucket/localdir/  destdir/  --delete  --backup-dir backup/

    コマンドを実行すると、examplebucketバケットのlocaldirディレクトリがコンピュータのdestdirディレクトリに同期されます。 destdirディレクトリに存在し、localdirディレクトリに存在しないオブジェクトは、backupディレクトリに移動されます。 同期後、a.txtb.txtという名前の同期オブジェクトとCという名前のサブディレクトリのみがdestdirディレクトリに格納されます。 同期前にdestdirディレクトリに存在するd.txtオブジェクトは、backupディレクトリに移動されます。 次の構造は、バックアップディレクトリを指定して同期した後のコンピュータとOSSのファイルとディレクトリを示しています。

    examplebucket              Local root directory
    └── localdir/               ├── destdir/
           ├── a.txt            │     ├── a.txt 
           ├── b.txt            │     ├── b.txt
           └── C/               │     └── C/                             
                                   └── backup/
                                          └──d.txt
  • 上記のコマンドが正常に実行されると、次の内容のような出力が返され、同期されたオブジェクトの数、同期されたオブジェクトのサイズ、および同期に費やされた時間が示されます。

    Succeed: Total num: 2, size: 750,081. OK num: 2(upload 2 files).
    
    average speed 1641000(byte/s)

一般的なオプション

ossutilを使用して別のリージョンにあるバケットに切り替える場合は、-eオプションを追加して、バケットが配置されているリージョンのエンドポイントを指定します。 ossutilを使用して別のAlibaba Cloudアカウントに属するバケットに切り替える場合、-iオプションを追加して指定されたアカウントのAccessKey IDを指定し、-kオプションを追加して指定されたアカウントのAccessKey secretを指定します。

たとえば、次のコマンドを実行して、中国 (上海) リージョンにあり、別のAlibaba Cloudアカウントが所有するexamplebucketという名前のバケットから、srcfolderという名前のディレクトリをexamplefolderという名前のローカルディレクトリに同期できます。

ossutil sync oss://examplebucket/srcfolder/  examplefolder/ -e oss-cn-shanghai.aliyuncs.com -i LTAI****************  -k yourAccessKeySecret

共通オプションの詳細については、「共通オプション」をご参照ください。