rclone - 多数のクラウドストレージサービスに対応したクラウド版rsync

S 2016 09 03 0 21 23

もはや快適なPCライフを過ごす上で欠かせない存在となった「クラウドストレージサービス」。人気を反映して多数のサービスが存在しています。

本日紹介する「rclone」は、そんなクラウドストレージをコマンドラインから操作することができる便利なツールです。「rsync for cloud storage」と題されているように、クラウドストレージ版rsyncと考えると分かりやすいかもしれません。

MITライセンス採用のオープンソースソフトウェアで、クロスプラットフォーム対応のGo言語を使って作成されています。このためLinux、Mac、Windows、その他UNIX系OS向けのバイナリファイルが提供されています。

クラウドストレージとしては以下のサービスに対応しています:

  • Google Drive
  • Amazon S3
  • Openstack Swift / Rackspace cloud files / Memset Memstore
  • Dropbox
  • Google Cloud Storage
  • Amazon Drive
  • Microsoft One Drive
  • Hubic
  • Backblaze B2
  • Yandex Disk
  • The local filesystem

ローカル<=>クラウドストレージ間でファイルのコピーや同期が可能なほか、クラウドストレージ上のファイルチェック、ファイル一覧表示、削除などにも対応しています。

以下使用方法を説明します。

rcloneの使用法

まず最新の実行ファイルをダウンロードしてパスが通ったフォルダにコピーします。

最初に実行するのはストレージサービスごとの設定の作成です。

rclone config

以下ストレージサービスごとに入力しないといけない情報は異なりますが、例えばOneDriveの場合は以下のように入力していきます。

No remotes found - make a new one
n) New remote
s) Set configuration password
n/s> n
name> remote
Type of storage to configure.
Choose a number from below, or type in your own value
 1 / Amazon Drive
   \ "amazon cloud drive"
 2 / Amazon S3 (also Dreamhost, Ceph)
   \ "s3"
 3 / Backblaze B2
   \ "b2"
 4 / Dropbox
   \ "dropbox"
 5 / Google Cloud Storage (this is not Google Drive)
   \ "google cloud storage"
 6 / Google Drive
   \ "drive"
 7 / Hubic
   \ "hubic"
 8 / Local Disk
   \ "local"
 9 / Microsoft OneDrive
   \ "onedrive"
10 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
   \ "swift"
11 / Yandex Disk
   \ "yandex"
Storage> 9
Microsoft App Client Id - leave blank normally.
client_id> 
Microsoft App Client Secret - leave blank normally.
client_secret> 
Remote config
Use auto config?
 * Say Y if not sure
 * Say N if you are working on a remote or headless machine
y) Yes
n) No
y/n> y
If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
Log in and authorize rclone for access
Waiting for code...
Got code
--------------------
[remote]
client_id = 
client_secret = 
token = {"access_token":"XXXXXX"}
--------------------
y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y

長く見えますが、ガイダンスが表示されているだけで、こちらから入力する情報はそれほど多くありません。最初にサービスを識別するための名前(例えばremote)を入力し、OneDrivを選択したあと、自動設定を選ぶとブラウザが起動してアクセストークンが取得されます(ブラウザ上でMSアカウントを入力します)。この処理が成功すると完了です。

設定は「~/.rclone.conf」に保存されます。

コマンドのシンタックスは以下の通りです。

Syntax: [options] subcommand  

2番目のサブコマンドで処理を指定します。

rclone ls remote:path # lists a re
rclone copy /local/path remote:path # copies /local/path to the remote
rclone sync /local/path remote:path # syncs /local/path to the remote

例えば以下のように使用します。

リモートのファイル一覧:

rclone ls remote:

リモートのファイル全部をローカルの./tmpにコピー:

rclone copy remote: ./tmp

実際にOneDriveのファイルをローカルにコピーしてみました。

S 2016 09 03 0 49 09

コマンドオプションの詳細は公式ドキュメントで確認することができます。

まとめ

クラウドストレージサービスは大抵、簡単に使用できるデスクトップ用のGUIクライアントが付属します。すぐに使えて便利ですが、細かい制御を行いたい場合や、作業の自動化を試みる場合コマンドラインツールは便利です。

rsyncに親しんでいる方ならばコマンドシンタックスも違和感なく使用できそうです。

S icon タイトル rclone
公式サイト http://rclone.org/
ソフトアンテナ https://www.softantenna.com/softwares/7464-rclone
説明 クラウドストレージ版のrsync。

スポンサーリンク