ossutil

作成日:2021-06-28

ossutilの手順

本書は、ossutilの使用手順を記載します。

1.ossutilとは

1-1.ossutilとは

1)ossutilは、コマンドラインでOSSデータを管理するツールです。ストレージスペース(バケット)およびファイル(オブジェクト)に対し、便利で簡潔かつ豊富な管理コマンドを提供しています。

ossutilは下記機能を提供します。

①バケットの管理 例えば:バケットの作成、リスト、削除など。

②オブジェクトの管理 例えば:オブジェクトのアップロード、ダウンロード、リスト、コピー、削除など。

③フラグメント(パーツ)の管理 例えば:パーツのリストや削除など。

2)コマンドリスト

コマンド名説明
appendfromfileローカルファイル内容を追加アップロードの方法でOSSのappendable Objectにアップロードする
bucket-encryption追加、変更、照会、または削除バケットの暗号化構成
bucket-policy追加、変更、照会、または削除バケットのポリシー構成
bucket-tagging追加、変更、照会、または削除バケットのラベル構成
bucket-versioning追加または照会バケットのバージョンコントロール構成
catテキストの内容をossutilに出力する
configOSSアクセス情報を保存するための構成ファイルを作成します
cors追加、変更、照会、または削除バケットのCORS構成
cors-optionsBucketが指定されたクロスドメインアクセスリクエストを許可するかをテストするために使用される
cpファイルのアップロード、ダウンロード、コピーに使用される
create-symlinkシンボルリンクの作成(ソフトリンク)
du指定のバケットオブジェクトまたはファイルディレクトリのストレージサイズを取得するために使用される
getallpartsizeバケット内すべてアップロード未完成のMultipartタスクの各シャードサイズとシャード合計サイズを取得する
hashローカルファイルのCRC64またはMD5を計算するために使用される
helpコマンドのヘルプ情報を取得するコマンド
inventory追加、照会、リストまたは削除バケットのリストルール
lifecycleライフサイクルルールを追加、変更、照会、または削除するコマンド
listpartシャードアップロードを完了していないオブジェクトのフラグメント情報を表示する
logging追加、変更、照会、または削除バケットのログ管理構成
lsBucket、ObjectとPartのリスト
mbバケットの作成
mkdirBucketにフォルダを作成する
object-tagging追加、変更、照会、または削除オブジェクトのラベル構成
probeネットワーク故障またはパラメータ設定による問題の検証コマンド
read-symlinkシンボルリンク(ソフトリンク)ファイルの情報を取得する
referer追加、変更、照会、または削除バケットのreferer構成
restore凍結されたオブジェクトを読み取り可能な状態に復元する
request-paymentBucketのリクエスター支払いモード構成を設定または照会する
revert-versioningバージョン管理が有効になるバケットにファイルを最新バージョンに復元するために、オブジェクトの削除ステータスIS-LATESTの属性がtrueの削除フラグを削除するために使用される
rmBucket、ObjectとPartの削除
set-aclBucketまたはObjectのACLを設定する
set-metaアップロード済みのオブジェクトのメタデータを設定する
signサードパーティユーザがバケット内のオブジェクトにアクセスする用の署名付きURLを生成するために使用される
stat指定されたバケットまたはオブジェクトの説明情報を取得する
updateossutilのバージョンを更新する
website追加、変更、照会、または削除バケットのWebサイトホスティング構成、リダイレクト構成、ソースにミラーバック

1-2.ossutilのダウンロードリンク

ossutilは、Windows、Linux、macOSなどの環境でサポートしています。実際の環境に応じて、適切なバージョンをダウンロードしてインストールできます。

1)ダウンロードリンク Windows/Linux/macOS環境、x86(32bit、64bit)、ARM(32bit、64bit)アーキテクチャをサポートします |ossutilダウンロードリンク|バージョン| |--|--| |Linux x86 32bit|1.7.3| |Linux x86 64bit|1.7.3| |Windows x86 32bit|1.7.3| |Windows x86 64bit|1.7.3| |macOS x86 32bit|1.7.3| |macOS x86 64bit|1.7.3| |ARM 32bit|1.7.3| |ARM 64bit|1.7.3|

2.Windowsで64bitのossutilを紹介します

2-1.Windowsで64bitのossutilをインストールします

1)ossutilをダウンロードします ①下記リンクでossutilをダウンロードします Windows x86 64bit

win download

②Zipファイルを解凍します win download

2)ossutilを設定します ①ossutil.batをダブルクリックして実行します win ossutil

win ossutil

②下記コマンドを実行し、configファイルを設定します

#ossutil64.exe config

win ossutil config

Config設定
保存ファイル名とパスなし
LanguageEN
Endpointhttps://oss-ap-northeast-1.aliyuncs.com
accessKeyIDLT****KwQ
accessKeySecrete****VU
stsTokenなし

Config設定方法をご参照ください

win ossutil config

③configファイルがデフォルトのパス「C:\Users\Nancy.ossutilconfig」に作成される win ossutil config

④configファイルを確認します win ossutil config

## 2-2.Windowsでossutilのコマンドを実行します ### 2-2-1.mb―バケットを作成します ①コマンドフォーマット

./ossutil64 mb oss://bucketname [--acl <value>][--storage-class <value>][--redundancy-type <value>]

②ossutil64.exeのフォルダでCMDを開き、下記のコマンドを実行します

ossutil64 mb oss://winbucket202106

win create bucket

レスポンス:

1.030347(s) elapsed

③コンソール画面にバケットを確認します win create bucket

### 2-2-2.mkdir―ディレクトリを作成します

コマンドフォーマット

./ossutil64 mkdir oss://bucketname dirname [--encoding-type <value>]

1)単一レベルのディレクトリを作成します

①下記のコマンドを実行します

ossutil64 mkdir oss://winbucket202106/winfolder

win create folder レスポンス:

0.416390(s) elapsed

②コンソール画面にディレクトリを確認します win create folder

win create folder

2)マルチレベルディレクトリを作成します

①下記のコマンドを実行します

ossutil64 mkdir oss://winbucket202106/winmultifolder/2021/06

win create multi-folder

レスポンス:

0.369116(s) elapsed

②コンソール画面にバディレクトリを確認します win create folder  win create folder  win create folder  win create folder

### 2-2-3.cp―ファイルをアップロードします 1)コマンドフォーマット

./ossutil cp file_url cloud_url [-r] [-f] [-u] [--enable-symlink-dir] [--disable-all-symlink] [--only-current-dir] [--output-dir=odir] [--bigfile-threshold=size] [--checkpoint-dir=cdir] [--snapshot-path=sdir] [--payer requester] [--tagging]

説明: file_url:ローカルパスである。Linuxシステムのファイルパス /localfolder/examplefile.txt、Windowsシステムのファイルパス D:\localfolder\examplefile.txt cloud_url:OSSのファイルパス,フォーマットはoss://bucketname/objectname、例:oss://examplebucket/examplefile.txt

・cpコマンドでファイルをアップロードする際に、デフォルトでシャードアップロードと中断後継続アップロードの方法を使います。ユーザーの原因でアップロードが中断された場合、パートのファイルはOSSに保存され、費用もかかるため、必要でない場合、削除してください。rmコマンドまたはライフサイクルの設定で削除できます。 ・cpコマンドを使用してローカルファイルまたはフォルダーをOSSにアップロードします

2)単一ファイルをアップロードします

アップロードの際に、file名が指定しない場合、ローカルファイル名でアップロードする。指定する場合、指定されたファイル名としてアップロードします ①ローカルファイルを用意します

F:\ossutil64\example.txt

win upload file ②ターゲットOSSパス

oss://winbucket202106/winfolder/

win upload file ③下記のコマンドを実行します

ossutil64 cp F:\ossutil64\example.txt oss://winbucket202106/winfolder/

win upload file

レスポンス:

F:\ossutil64>ossutil64 cp F:\ossutil64\example.txt oss://winbucket202106/winfolder/
Succeed: Total num: 1, size: 27. OK num: 1(upload 1 files).
average speed 0(byte/s)
0.442846(s) elapsed

④ファイルを確認します win upload file

3)フォルダ内のファイルのみをアップロードします ①ローカルファイルを用意します

F:\ossutil64\folder2\example.txt

win upload file ②ターゲットOSSパス

oss://winbucket202106/winmultifolder/

win upload file

③下記のコマンドを実行します

ossutil64 cp folder2/ -r oss://winbucket202106/winmultifolder/

win upload file

レスポンス:

F:\ossutil64>ossutil64 cp folder2/ -r oss://winbucket202106/winmultifolder/
Succeed: Total num: 1, size: 27. OK num: 1(upload 1 files).
average speed 0(byte/s)
0.425603(s) elapsed

④ファイルを確認します win upload file

4)フォルダおよびフォルダ内のファイルをアップロードします

①ローカルファイルを用意します

F:\ossutil64\uploadtest\folder2\example.txt
F:\ossutil64\uploadtest\folder2\example1.txt
F:\ossutil64\uploadtest\folder2\ossutil64.exe

win upload file ②ターゲットOSSパス

oss://winbucket202106/winmultifolder/2021/

win upload file

③下記のコマンドを実行します

ossutil64 cp uploadtest/folder2/ -r oss://winbucket202106/winmultifolder/2021/folder2/

win upload file

レスポンス:

F:\ossutil64>ossutil64 cp uploadtest/folder2/ -r oss://winbucket202106/winmultifolder/2021/folder2/
Total num: 3, size: 10,295,862. Dealed num: 2(upload 2 files), OK size: 6,467,638, Progress: 62.818%, Speed: 1263.21KB/s Succeed: Total num: 3, size: 10,295,862. OK num: 3(upload 3 files).
average speed 1284000(byte/s)
8.026794(s) elapsed
F:\ossutil64>

④ファイルを確認します win upload file

win upload file

### 2-2-4.cp―ファイルをダウンロードします 1)コマンドフォーマット

./ossutil cp cloud_url file_url [-r] [-f] [-u] [--only-current-dir] [--output-dir=odir] [--bigfile-threshold=size] [--checkpoint-dir=cdir] [--range=x-y] [--payer requester] [--version-id versionId]

2) ①OSSファイル win download file

②下記のコマンドを実行します

ossutil64 cp -r oss://winbucket202106/winmultifolder/2021/folder2/ download/

win download file レスポンス

F:\ossutil64>ossutil64 cp -r oss://winbucket202106/winmultifolder/2021/folder2/ /download/
Succeed: Total num: 3, size: 10,295,862. OK num: 3(download 3 objects).
average speed 81000(byte/s)
126.788321(s) elapsed
F:\ossutil64>ossutil64 cp -r oss://winbucket202106/winmultifolder/2021/folder2/ download/
Succeed: Total num: 3, size: 10,295,862. OK num: 3(download 3 objects).
average speed 116000(byte/s)
88.682866(s) elapsed

③ファイルを確認します win download file

### 2-2-5.cp―ファイルをコピーします 1)コマンドフォーマット

./ossutil cp cloud_url cloud_url [-r] [-f] [-u] [--only-current-dir] [--output-dir=odir] [--bigfile-threshold=size] [--checkpoint-dir=cdir] [--payer requester] [--version-id versionId] [--tagging]

2)ファイルをコピーします ①コピー元ファイルを確認します win copy file

②コピー先を確認します win copy file

③下記のコマンドを実行します

ossutil64 cp oss://winbucket202106/winmultifolder/2021/folder2/ oss://winbucket202106/winmultifolder/2021/06/ -r

win copy file レスポンス

F:\ossutil64>ossutil64 cp oss://winbucket202106/winmultifolder/2021/folder2/ oss://winbucket202106/winmultifolder/2021/06/ -r
Succeed: Total num: 3, size: 10,295,862. OK num: 3(copy 3 objects).
average speed 10064000(byte/s)
1.035505(s) elapsed
F:\ossutil64>

④ファイルを確認します win copy file

### 2-2-6.rm-ファイルを削除します

1)コマンドフォーマット

./ossutil64 rm oss://bucketname[/prefix]
[-r,--recursive]
[-b,--bucket]
[-m,--multipart]
[-a,--all-type]
[-f,--force]
[--include <value>]
[--exclude <value>]
[--version-id <value>]
[--all-versions]
[--payer <value>]
[--encoding-type <value>]

2)ファイルを削除します ①ファイルを確認します win rm file

②rmコマンドを実行します

ossutil64 rm oss://winbucket202106/winmultifolder/2021/06/ -r

win rm file

レスポンス

F:\ossutil64>ossutil64 rm oss://winbucket202106/winmultifolder/2021/06/ -r
Do you really mean to remove recursively objects of oss://winbucket202106/winmultifolder/2021/06/(y or N)? y
Succeed: Total 4 objects. Removed 4 objects.
8.829980(s) elapsed
F:\ossutil64>

③ファイルが削除されました win rm file

④フォルダも削除されました win rm file

3.Linuxで64bitのossutilを紹介します

## 3-1.Linuxで64bitのossutilをインストールします 1)Linux環境を用意します ①CentOS ECSを用意します

linux ecs

linux ecs

2)ossutilをダウンロードします ①下記リンクからLinuxのOSSutilをダウンロードします

Linux x86 64bit

②ダウンロードする際にはspmのパラメータを削除し、下記コマンドでossutilをダウンロードします

#wget http://gosspublic.alicdn.com/ossutil/1.7.3/ossutil64

Linux download

②ossutil64の755権限を与える

#chmod 755 ossutil64

Linux download

3)ossutilを設定します ①下記コマンドを実行し、configファイルを設定します

#./ossutil64 config

Linux ossutil config

Config設定
保存ファイル名とパスデフォルト
LanguageEN
Endpointhttps://oss-ap-northeast-1.aliyuncs.com
accessKeyIDLT****KwQ
accessKeySecrete****VU
stsTokenなし

Config設定方法をご参照ください

Linux ossutil config

②configファイルがデフォルトのパス「C:\Users\Nancy.ossutilconfig」に作成される Linux ossutil config

③configファイルを確認します Linux ossutil config

## 3-2.Linuxでossutilのコマンドを実行します ### 3-2-1.mb―バケットを作成します ①コマンドフォーマット

./ossutil64 mb oss://bucketname [--acl <value>][--storage-class <value>][--redundancy-type <value>]

②ossutil64.exeのフォルダでCMDを開き、下記のコマンドを実行します

./ossutil64 mb oss://linuxbucket202106

Linux create bucket

レスポンス:

# ./ossutil64 mb oss://linuxbucket202106
0.742198(s) elapsed

③コンソール画面にバケットを確認します Linux create bucket

### 3-2-2.mkdir―ディレクトリを作成します

コマンドフォーマット

./ossutil64 mkdir oss://bucketname dirname [--encoding-type <value>]

1)単一レベルのディレクトリを作成します

①下記のコマンドを実行します

./ossutil64 mkdir oss://linuxbucket202106/linuxfolder

Linux create folder レスポンス:

# ./ossutil64 mkdir oss://linuxbucket202106/linuxfolder
0.052279(s) elapsed

②コンソール画面にディレクトリを確認します Linux create folder

Linux create folder

2)マルチレベルディレクトリを作成します

①下記のコマンドを実行します

./ossutil64 mkdir oss://linuxbucket202106/linuxmultifolder/2021/06

Linux create multi-folder

レスポンス:

./ossutil64 mkdir oss://linuxbucket202106/linuxmultifolder/2021/06
0.035308(s) elapsed

②コンソール画面にディレクトリを確認します Linux create folder Linux create folder Linux create folder Linux create folder

### 3-2-3.cp―ファイルをアップロードします 1)コマンドフォーマット

./ossutil cp file_url cloud_url [-r] [-f] [-u] [--enable-symlink-dir] [--disable-all-symlink] [--only-current-dir] [--output-dir=odir] [--bigfile-threshold=size] [--checkpoint-dir=cdir] [--snapshot-path=sdir] [--payer requester] [--tagging]

説明: file_url:ローカルパスである。Linuxシステムのファイルパス /localfolder/examplefile.txt、Windowsシステムのファイルパス D:\localfolder\examplefile.txt cloud_url:OSSのファイルパス,フォーマットはoss://bucketname/objectname、例:oss://examplebucket/examplefile.txt

・cpコマンドでファイルをアップロードする際に、デフォルトでシャードアップロードと中断後継続アップロードの方法を使います。ユーザーの原因でアップロードが中断された場合、パートのファイルはOSSに保存され、費用もかかるため、必要でない場合、削除してください。rmコマンドまたはライフサイクルの設定で削除できます。 ・cpコマンドを使用してローカルファイルまたはフォルダーをOSSにアップロードします

2)単一ファイルをアップロードします

アップロードの際に、file名が指定しない場合、ローカルファイル名でアップロードする。指定する場合、指定されたファイル名としてアップロードします ①ローカルファイルを用意します

root/example.txt

Linux upload file

Linux upload file ②ターゲットOSSパス

oss://linuxbucket202106/linuxfolder/

Linux upload file

③下記のコマンドを実行します

./ossutil64 cp example.txt oss://linuxbucket202106/linuxfolder/

Linux upload file

レスポンス:

./ossutil64 cp example.txt oss://linuxbucket202106/linuxfolder/
Succeed: Total num: 1, size: 37. OK num: 1(upload 1 files).
average speed 0(byte/s)
0.053621(s) elapsed

④ファイルを確認します Linux upload file

3)フォルダ内のファイルのみをアップロードします ①ローカルファイルを用意します

root/folder2/example2.txt

Linux upload file

Linux upload file ②ターゲットOSSパス

oss://linuxbucket202106/linuxmultifolder/

Linux upload file

③下記のコマンドを実行します

./ossutil64 cp folder2/ -r oss://linuxbucket202106/linuxmultifolder/

Linux upload file

レスポンス:

# ./ossutil64 cp folder2/ -r oss://linuxbucket202106/linuxmultifolder/
Succeed: Total num: 1, size: 34. OK num: 1(upload 1 files).
average speed 0(byte/s)
0.061058(s) elapsed

④ファイルを確認します Linux upload file

4)フォルダおよびフォルダ内のファイルをアップロードします

①ローカルファイルを用意します

root/folder2/example1.txt
root/folder2/example2.txt
root/folder2/ossutil64.exe

Linux upload file

②ターゲットOSSパス

oss://linuxbucket202106/linuxmultifolder/2021/

Linux upload file

③下記のコマンドを実行します

#./ossutil64 cp folder2/ -r oss://linuxbucket202106/linuxmultifolder/2021/folder2/

Linux upload file

レスポンス:

# ./ossutil64 cp folder2/ -r oss://linuxbucket202106/linuxmultifolder/2021/folder2/
Succeed: Total num: 3, size: 10,295,869. OK num: 3(upload 3 files).
average speed 705000(byte/s)
14.593219(s) elapsed

④ファイルを確認します Linux upload file

Linux upload file

### 3-2-4.cp―ファイルをダウンロードします 1)コマンドフォーマット

./ossutil cp cloud_url file_url [-r] [-f] [-u] [--only-current-dir] [--output-dir=odir] [--bigfile-threshold=size] [--checkpoint-dir=cdir] [--range=x-y] [--payer requester] [--version-id versionId]

2)ファイルをダウンロードします ①OSSファイル Linux download file

②Localフォルダ確認 Linux download file ③下記のコマンドを実行します

./ossutil64 cp -r oss://linuxbucket202106/linuxmultifolder/2021/folder2/ download/

Linux download file レスポンス

# ./ossutil64 cp -r oss://linuxbucket202106/linuxmultifolder/2021/folder2/ download/
Succeed: Total num: 3, size: 10,295,869. OK num: 3(download 3 objects).
average speed 63949000(byte/s)
0.161218(s) elapsed

④ファイルを確認します Linux download file

### 3-2-5.cp―ファイルをコピーします 1)コマンドフォーマット

./ossutil cp cloud_url cloud_url [-r] [-f] [-u] [--only-current-dir] [--output-dir=odir] [--bigfile-threshold=size] [--checkpoint-dir=cdir] [--payer requester] [--version-id versionId] [--tagging]

2)ファイルをコピーします ①コピー元ファイルを確認します Linux copy file

②コピー先を確認します Linux copy file

③下記のコマンドを実行します

./ossutil64 cp oss://linuxbucket202106/linuxmultifolder/2021/folder2/ oss://linuxbucket202106/linuxmultifolder/2021/06/ -r

Linux copy file

レスポンス

# ./ossutil64 cp oss://linuxbucket202106/linuxmultifolder/2021/folder2/ oss://linuxbucket202106/linuxmultifolder/2021/06/ -r
Succeed: Total num: 3, size: 10,295,869. OK num: 3(copy 3 objects).
average speed 48565000(byte/s)
0.212667(s) elapsed

④ファイルを確認します Linux copy file

### 3-2-6.rm-ファイルを削除します

1)コマンドフォーマット

./ossutil64 rm oss://bucketname[/prefix]
[-r,--recursive]
[-b,--bucket]
[-m,--multipart]
[-a,--all-type]
[-f,--force]
[--include <value>]
[--exclude <value>]
[--version-id <value>]
[--all-versions]
[--payer <value>]
[--encoding-type <value>]

2)ファイルを削除します ①ファイルを確認します Linux rm file

②rmコマンドを実行します

./ossutil64 rm oss://linuxbucket202106/linuxmultifolder/2021/06/ -r

Linux rm file レスポンス

# ./ossutil64 rm oss://linuxbucket202106/linuxmultifolder/2021/06/ -r
Do you really mean to remove recursively objects of oss://linuxbucket202106/linuxmultifolder/2021/06/(y or N)? y
Succeed: Total 4 objects. Removed 4 objects.
4.547991(s) elapsed

③ファイルが削除されました Linux rm file

④フォルダも削除されました Linux rm file

macOSとARMの環境での使用手順はmacosとARMのossutilバージョンをダウンロードします。使用手順はLinuxのと同じです。

最後に

以上、ossutilについてをご紹介しました。ossutilを使った開発をする際、ご参考になれば幸いです。

Close

Alibaba Cloudを始めてみましょう

ソフトバンクは、Alibaba Cloudのアカウント開設から、サービス展開までをお手伝いします。
Hatena