syncコマンドを実行して、Object Storage Service (OSS) に保存されているオブジェクトをコンピューターに同期できます。
使用上の注意
OSSからコンピューターにオブジェクトを同期するには、
oss:GetObject
およびoss:ListObjects
権限が必要です。 詳細については、「RAMユーザーへのカスタムポリシーのアタッチ」をご参照ください。
バイナリ名
このトピックでは、64ビットLinuxシステムで動作するサンプルコマンドラインを提供します。 他のシステムのために、取り替えて下さい./ossutil64対応するバイナリ名を持つコマンドで 詳細は、「ossutilコマンドリファレンス」をご参照ください。
同期するローカルファイルの数
-- deleteオプションを含めずに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コマンドの実行方法の詳細については、「オブジェクトのダウンロード」をご参照ください。
コマンド構文
. /ossutil64同期cloud_url file_url
[-f -- force]
[-u -- 更新]
[-- maxdownspeed <value>]
[-- 削除]
[-- backup-dir <value>]
[-- enable-symlink-dir]
[-- disable-all-symlink]
[-- disable-無視-エラー]
[-- 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 | 同期するオブジェクトが格納されているディレクトリのパス。 パスは |
ファイル_url | オブジェクトを同期するローカルディレクトリのパス。 例: Linuxの場合は |
-f -- 力 | 確認を必要とせずに操作を強制します。 |
-u, -- update | オブジェクトがデスティネーションに存在しない場合、またはソース内のオブジェクトの最終変更時刻がデスティネーション内のオブジェクトの最終変更時刻よりも遅い場合にのみ、ossutilがソースからオブジェクトを同期するように指定します。 |
-- maxdownspeed | 最大ダウンロード速度を指定します。 単位: KB/s。 デフォルト値: 0。ダウンロード速度が無制限であることを指定します。 |
-- 削除 | 同期されたオブジェクトのみが宛先パスに保持されるように指定します。 宛先パス内の他のオブジェクトは削除されます。 警告 コマンドで -- deleteオプションを指定するには、データが誤って削除されないようにバージョン管理を有効にすることを推奨します。 バージョン管理の詳細については、「概要」をご参照ください。 |
-- backup-dir | 宛先パスに存在するが、ソースOSSバケットには存在しないオブジェクトを格納するために使用されるディレクトリを指定します。 |
-- 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は自動的にという名前のディレクトリを作成します。 |
-- 範囲 | 特定の範囲のオブジェクトコンテンツをダウンロードし、新しいファイルとして宛先パスに保存することを指定します。 範囲の最小開始値は0で、オブジェクトのコンテンツのバイト0を示します。 このオプションの値は、次のいずれかの形式で指定できます。
|
-- encoding-type | オブジェクトの名前をエンコードするために使用するメソッド。 このオプションを指定する場合は、値をurlに設定します。 このオプションを指定しない場合、オブジェクトの名前はエンコードされません。 |
-- snapshot-path | 同期されたオブジェクトのスナップショットが保存されるディレクトリを指定します。 次の同期タスクで、ossutilは増分同期のためにこのディレクトリ内のスナップショットを読み取ります。 |
-含める | 指定された条件を満たすすべてのオブジェクトを含みます。 詳細については、「」をご参照ください。オプション -- includeおよび -- exclude. |
-除外 | 指定された条件を満たすすべてのオブジェクトを除外します。 詳細については、「」をご参照ください。オプション -- includeおよび -- exclude. |
-- disable-crc64 | CRC-64検証を無効にします。 |
-- 支払人 | トラフィックとリクエスト料金の支払人。 指定したパスのリソースにアクセスするリクエスタにトラフィックとリクエスト料金を支払う場合は、このオプションをrequesterに設定します。 |
-j, -- job | マルチオブジェクト操作で実行する同時実行タスクの数。 有効な値: 1 ~ 10000 デフォルト値: 3。 |
-- 平行 | 1つのオブジェクトに対して実行される同時タスクの数。 有効な値: 1 ~ 10000 このオプションを指定しない場合、操作タイプとオブジェクトサイズに基づいてこのオプションの値を指定します。 |
-- retry-times | エラーが発生した場合のリトライ回数。 デフォルト値は 10 です。 有効な値: 1 ~ 500 |
例
examplebucketという名前のバケットのlocaldirディレクトリには、a.txtとb.txtという名前の2つのオブジェクトと、Cという名前のサブディレクトリが含まれています。d.txtという名前のローカルファイルは、ローカルルートディレクトリのdestdirディレクトリに格納されます。 次の構造は、同期前のコンピュータとOSSのファイルとディレクトリを示しています。
examplebucketローカルルートディレクトリ
└ ─ ─ localdir/ └ ─ destdir /
â ─ ─ a.txt é ─ d.txt
â ─ ─ b.txt
└ ─ ─ C/
examplebucketのlocaldirディレクトリをコンピューターに同期します。
./ossutil64同期oss:// examplebucket/localdir/ destdir /
上記のコマンドを実行すると、a.txtおよびb.txtオブジェクトとCディレクトリがコンピュータのdestfolderディレクトリに追加されます。 次の構造は、同期後のコンピュータとOSSのファイルとディレクトリを示しています。
examplebucketローカルルートディレクトリ └ ─ ─ localdir/ └ ─ destdir / â ─ ─ a.txt â ─ a.txt â ─ ─ b.txt â ─ b.txt └ ─ ─ C /â ─ ─ d.txt └ ─ ─ C/
examplebucketバケットのlocaldirディレクトリをdestdirという名前のローカルディレクトリに同期します。 コマンドで -- backup-dirオプションをbackupという名前のディレクトリに設定して、destdirディレクトリにすべてのオブジェクトが存在し、localdirディレクトリには存在しないことを指定し、destdirディレクトリから削除してバックアップディレクトリに保存します。
./ossutil64 sync oss:// examplebucket/localdir/ destdir/ -- delete -- backup-dir backup /
コマンドを実行すると、examplebucketバケットのlocaldirディレクトリがコンピュータのdestdirディレクトリに同期されます。 destdirディレクトリに存在し、localdirディレクトリに存在しないオブジェクトは、backupディレクトリに移動されます。 同期後、a.txtとb.txtという名前の同期オブジェクトとCという名前のサブディレクトリのみがdestdirディレクトリに格納されます。 同期前にdestdirディレクトリに存在するd.txtオブジェクトは、backupディレクトリに移動されます。 次の構造は、バックアップディレクトリを指定して同期した後のコンピュータとOSSのファイルとディレクトリを示しています。
examplebucketローカルルートディレクトリ └ ─ ─ localdir /â ─ destdir / â ─ ─ a.txt │ â ─ a.txt â ─ ─ b.txt │ â ─ b.txt └ ─ ─ C/ │ └ ─ C / └ ─ ─ バックアップ / └ ─ ─ d.txt
上記のコマンドが正常に実行されると、次のような出力が返され、同期されたオブジェクトの数、同期されたオブジェクトのサイズ、および同期タスクで消費された時間が示されます。
成功: 合計数: 2、サイズ: 750,081。 OK num: 2 (2ファイルアップロード) 。 平均速度1641000 (バイト /秒)
一般的なオプション
ossutilを使用して別のリージョンにあるバケットに切り替える場合は、コマンドに -eオプションを追加して、指定したバケットがあるリージョンのエンドポイントを指定します。 ossutilを使用して別のAlibaba Cloudアカウントに属するバケットに切り替える場合、コマンドに -iオプションを追加して、指定されたアカウントのAccessKey IDを指定し、コマンドに -kオプションを追加して、指定されたアカウントのAccessKey secretを指定します。
たとえば、次のコマンドを実行して、中国 (上海) リージョンにあり、別のAlibaba Cloudアカウントが所有するexamplebucketという名前のバケットから、srcfolderという名前のディレクトリをexamplefolderという名前のローカルディレクトリに同期できます。
./ossutil64 sync oss:// examplebucket/srcfolder/ examplefolder/ -e oss-cn-shanghai.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA **** -k 67DLVBkH7EamOjy2W5RVAHUY9H ****
共通オプションの詳細については、「共通オプション」をご参照ください。