DaviXでオンラインストレージにファイルを送信する

DaviXでオンラインストレージにファイルを送信する

スポンサーリンク

davix | Data Management ClientsはHTTPベースのファイル管理ツールである。これを使って、テラバイト容量のオンラインストレージ | TeraCLOUD を操作してみる。

インストール

公式リポジトリがある。
Repositories | Data Management Clientsによると、Redhat系が試しやすそうだ。EPEL/ja – FedoraProjectにオフィシャルパッケージが登録されているので、yumでインストールできる。バージョンは
Data Management Clients – Versions and documentation にまとめてあるのだが、現時点では0.6.0になる。

CentOS6にインストール

まずはepelをインストールする。

[root@c7509e0474f2 /]# yum search epel
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.fairway.ne.jp
 * extras: mirror.fairway.ne.jp
 * updates: mirror.fairway.ne.jp
============================== N/S Matched: epel ===============================
epel-release.noarch : Extra Packages for Enterprise Linux repository
                    : configuration

  Name and summary matches only, use "search all" for everything.
[root@c7509e0474f2 /]# yum install epel-release
Loaded plugins: fastestmirror
Setting up Install Process
Loading mirror speeds from cached hostfile
 * base: mirror.fairway.ne.jp
 * extras: mirror.fairway.ne.jp
 * updates: mirror.fairway.ne.jp
Resolving Dependencies
--> Running transaction check
---> Package epel-release.noarch 0:6-8 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package                Arch             Version         Repository        Size
================================================================================
Installing:
 epel-release           noarch           6-8             extras            14 k

Transaction Summary
================================================================================
Install       1 Package(s)

Total download size: 14 k
Installed size: 22 k
Is this ok [y/N]: y
Downloading Packages:
epel-release-6-8.noarch.rpm                              |  14 kB     00:00     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : epel-release-6-8.noarch                                      1/1 
  Verifying  : epel-release-6-8.noarch                                      1/1 

Installed:
  epel-release.noarch 0:6-8                                                     

Complete!
[root@c7509e0474f2 /]# yum update -y
Loaded plugins: fastestmirror
Setting up Update Process
Loading mirror speeds from cached hostfile
epel/metalink                                            | 4.1 kB     00:00     
 * base: mirror.fairway.ne.jp
 * epel: ftp.kddilabs.jp
 * extras: mirror.fairway.ne.jp
 * updates: mirror.fairway.ne.jp
epel                                                     | 4.3 kB     00:00     
epel/primary_db                                          | 5.9 MB     00:04     
No Packages marked for Update
[root@c7509e0474f2 /]#

次にdavixをインストール。

[root@c7509e0474f2 /]# yum install davix
Loaded plugins: fastestmirror
Setting up Install Process
Loading mirror speeds from cached hostfile
 * base: mirror.fairway.ne.jp
 * epel: ftp.kddilabs.jp
 * extras: mirror.fairway.ne.jp
 * updates: mirror.fairway.ne.jp
Resolving Dependencies
--> Running transaction check
---> Package davix.x86_64 0:0.6.0-1.el6 will be installed
--> Processing Dependency: davix-libs(x86-64) = 0.6.0-1.el6 for package: davix-0.6.0-1.el6.x86_64
--> Processing Dependency: libgsoapssl++.so.0()(64bit) for package: davix-0.6.0-1.el6.x86_64
--> Processing Dependency: libdavix_copy.so.0()(64bit) for package: davix-0.6.0-1.el6.x86_64
--> Processing Dependency: libdavix.so.0()(64bit) for package: davix-0.6.0-1.el6.x86_64
--> Processing Dependency: libboost_thread-mt.so.5()(64bit) for package: davix-0.6.0-1.el6.x86_64
--> Processing Dependency: libboost_system-mt.so.5()(64bit) for package: davix-0.6.0-1.el6.x86_64
--> Processing Dependency: libboost_program_options-mt.so.5()(64bit) for package: davix-0.6.0-1.el6.x86_64
--> Running transaction check
---> Package boost-program-options.x86_64 0:1.41.0-27.el6 will be installed
---> Package boost-system.x86_64 0:1.41.0-27.el6 will be installed
---> Package boost-thread.x86_64 0:1.41.0-27.el6 will be installed
---> Package davix-libs.x86_64 0:0.6.0-1.el6 will be installed
---> Package gsoap.x86_64 0:2.7.16-4.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package                     Arch         Version              Repository  Size
================================================================================
Installing:
 davix                       x86_64       0.6.0-1.el6          epel       175 k
Installing for dependencies:
 boost-program-options       x86_64       1.41.0-27.el6        base       108 k
 boost-system                x86_64       1.41.0-27.el6        base        26 k
 boost-thread                x86_64       1.41.0-27.el6        base        43 k
 davix-libs                  x86_64       0.6.0-1.el6          epel       386 k
 gsoap                       x86_64       2.7.16-4.el6         epel       198 k

Transaction Summary
================================================================================
Install       6 Package(s)

Total download size: 937 k
Installed size: 3.9 M
Is this ok [y/N]: y
Downloading Packages:
(1/6): boost-program-options-1.41.0-27.el6.x86_64.rpm    | 108 kB     00:01     
(2/6): boost-system-1.41.0-27.el6.x86_64.rpm             |  26 kB     00:00     
(3/6): boost-thread-1.41.0-27.el6.x86_64.rpm             |  43 kB     00:00     
(4/6): davix-0.6.0-1.el6.x86_64.rpm                      | 175 kB     00:00     
(5/6): davix-libs-0.6.0-1.el6.x86_64.rpm                 | 386 kB     00:00     
(6/6): gsoap-2.7.16-4.el6.x86_64.rpm                     | 198 kB     00:00     
--------------------------------------------------------------------------------
Total                                           182 kB/s | 937 kB     00:05     
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
Importing GPG key 0x0608B895:
 Userid : EPEL (6) 
 Package: epel-release-6-8.noarch (@extras)
 From   : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
Is this ok [y/N]: y
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : boost-system-1.41.0-27.el6.x86_64                            1/6 
  Installing : boost-program-options-1.41.0-27.el6.x86_64                   2/6 
  Installing : boost-thread-1.41.0-27.el6.x86_64                            3/6 
  Installing : gsoap-2.7.16-4.el6.x86_64                                    4/6 
  Installing : davix-libs-0.6.0-1.el6.x86_64                                5/6 
  Installing : davix-0.6.0-1.el6.x86_64                                     6/6 
  Verifying  : gsoap-2.7.16-4.el6.x86_64                                    1/6 
  Verifying  : davix-0.6.0-1.el6.x86_64                                     2/6 
  Verifying  : davix-libs-0.6.0-1.el6.x86_64                                3/6 
  Verifying  : boost-thread-1.41.0-27.el6.x86_64                            4/6 
  Verifying  : boost-program-options-1.41.0-27.el6.x86_64                   5/6 
  Verifying  : boost-system-1.41.0-27.el6.x86_64                            6/6 

Installed:
  davix.x86_64 0:0.6.0-1.el6                                                    

Dependency Installed:
  boost-program-options.x86_64 0:1.41.0-27.el6                                  
  boost-system.x86_64 0:1.41.0-27.el6                                           
  boost-thread.x86_64 0:1.41.0-27.el6                                           
  davix-libs.x86_64 0:0.6.0-1.el6                                               
  gsoap.x86_64 0:2.7.16-4.el6                                                   

Complete!
[root@c7509e0474f2 /]#

Davix User Documentation | Data Management Clientsにあるように、davix-get, davix-put, davix-ls, davix-mkdir, davix-rm, davix-mv, davix-cp といったコマンドがインストールされる。

コマンド

davix-get

オンラインストレージからファイルを持ってくる(ダウンロード)

davix-put

ローカルのファイルをオンラインストレージに送る(アップロード)

davix-ls

オンラインストレージ上でのls

davix-mkdir

オンラインストレージ上でのmkdir

davix-rm

オンラインストレージ上でのrm

davix-mv

オンラインストレージ上でのmv

davix-cp

オンラインストレージ上でのcp

TeraCLOUDで使う

テラバイト容量のオンラインストレージ | TeraCLOUDはWebDAVで接続できるので、MacのFinderからでも使える。紹介コードを使って申し込むと使える容量が少し増えるので、ここにコードを書いておこう。「2SJY3」の5文字だ。

接続URLを確認する

ログインした後マイページに移動し、「クライアント接続情報」を確認する。このURLをdavixの各コマンドで指定する。ここではhttps://example.teracloud.jp/dav/だったとしよう。

ディレクトリのファイルをリスト表示

いわゆるls。helpを見てみると、

[root@c7509e0474f2 tmp]# davix-ls --help
Usage : davix-ls [OPTIONS ...] 
  Common Options:
	--conn-timeout TIME:      Connection timeout in seconds. default: 30
	--retry NUMBER:           Number of retry attempt in case of an operation failure. default: 10
	--retry-delay TIME:       Number of seconds to wait between retry attempts. default: 0
	--debug:                  Debug mode
	--header, -H:             Add a header field to the request
	--help, -h:               Display this help message
	--metalink OPT:           Metalink support. value=failover|no. default=failover) 
	--module, -P NAME:        Load a plugin or profile by name
	--proxy, -x URL:          SOCKS5 proxy server URL. (Ex: socks5://login:pass@socks.example.org)
	--redirection OPT:        Transparent redirection support. value=yes|no. default=yes)
	--timeout TIME:           Global timeout for the operation in seconds. default: infinite
	--trace:                  Specify one or more scopes to trace. (Ex: --trace log level(optional),header,file)
	--version, -V:            Display version
  Security Options:
	--capath CA_PATH:         Add an additional certificate authority directory
	--cert, -E CRED_PATH:     Client Certificate in PEM format
	--key KEY_PATH:           Private key in PEM format
	--insecure, -k:           Disable SSL credential checks
	--userlogin:              User login for login/password authentication
	--userpass:               User password for login/password authentication
	--s3secretkey SEC_KEY:    S3 authentication: secret key
	--s3accesskey ACC_KEY:    S3 authentication: access key
	--s3region REGION:        S3 region (optional - if passed, will authenticate using a v4 signature instead of v2)
	--s3token TOKEN:          S3 security token - used along with STS temporary credentials
	--s3alternate:            Pass this flag if you're using a path-based S3 URL
	                          A path-based URL contains the bucket name in the path, ie https://s3-someregion.amazonaws.com/mybucket/file
	--azurekey AZURE_KEY:     Azure authentication secret key
  Listing Options:
	--long-list, -l:          long Listing mode
	-r NUMBER_OF_THREADS      List directories's content recursively using multiple threads
	--no-cap:                 Disable size cap on task queue for pending listing operations
	--s3-listing:             S3 bucket listing mode - flat, semi or hierarchical(default)
	--s3-maxkeys:             Maximum number of entries returns by S3 list bucket request. default: 10000
[root@c7509e0474f2 tmp]#

となっている。TeraCLOUD上でlsするには、

davix-ls --userlogin ユーザーID --userpass パスワード https://example.teracloud.jp/dav/

とする。サブディレクトリはURLのpathに書けばよい。サブディレクトリ subdir をリスト表示する場合は

davix-ls --userlogin ユーザーID --userpass パスワード https://example.teracloud.jp/dav/subdir

とする。

ファイルのダウンロード

いわゆるwget。詳しくはdavix-get --helpを参照。davix-lsと似たようなオプションが並ぶ。

ファイルのアップロード

[root@c7509e0474f2 tmp]# davix-put --userlogin ユーザーID --userpass パスワード foo.txt  https://example.teracloud.jp/dav/test/foo.txt

[root@c7509e0474f2 tmp]#

のように使う。オプションはdavix-put --helpで確認を。

davfs2の代わりに

LinuxでWebDAVを使おうとした場合、NFS mountするかのごとく、davfs2 [Savannah]を使ってmountすることが多そうだ。ただ以前試してみたところでは、cacheがひたすら増大してローカルのディスクを食い尽くしてしまい、大量のファイルを扱うのは無理との結論に達した。
davixは1ファイルずつ操作することになるが、処理が終了するたびにコマンドも終わるため、ディスクを食い尽くすことはなさそうだ。バックアップファイルの転送に使えないか、試してみよう。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存

フォローする

この記事へのコメント

Loading Facebook Comments ...

No Trackbacks.