もはや快適な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のファイルをローカルにコピーしてみました。
コマンドオプションの詳細は公式ドキュメントで確認することができます。
まとめ
クラウドストレージサービスは大抵、簡単に使用できるデスクトップ用のGUIクライアントが付属します。すぐに使えて便利ですが、細かい制御を行いたい場合や、作業の自動化を試みる場合コマンドラインツールは便利です。
rsyncに親しんでいる方ならばコマンドシンタックスも違和感なく使用できそうです。
タイトル | rclone | |
---|---|---|
公式サイト | http://rclone.org/ | |
ソフトアンテナ | https://softantenna.com/softwares/7464-rclone | |
説明 | クラウドストレージ版のrsync。 |