2015年7月20日月曜日

rcloneコマンドでDropboxを使う

ConoHaまとめ

rcloneコマンドでDropboxを操作してみよう


今回は、rcloneコマンドでDropboxを操作します。クラウド間の同期を確認しましょう。

手順としては以下のとおり。

  1. Dropbox APIの有効化
  2. 設定ファイルの作成
  3. rcloneで遊ぼう =)

前回のrcloneコマンドでGoogle Driveを使うとほぼ同様の流れになります。認証はOAuthでした。


Dropbox Core APIの有効化


Dropboxを操作するためのAPIの有効化を行います。

App Console - Dropboxから作成します。テストですので権限は多めに取りました。用途に応じて権限は絞り込むべきかと思うのですが、まずは動作するのを確認したいのでフルアクセス権にしています。

  1. 『Create app』を選択
  2. APIの種類を聞いてくるので『Dropbox API app』を選択
  3. 『Can your app be limited to its own folder?』と聞いてくるので『No』を選択
  4. 『What type of files does your app need access to?』と聞いてくるので『All file types』を選択
  5. 『Provide an app name, and you're on your way. 』とアプリ名を聞いてくるので、今回は『rclone test service』としました
  6. 『Terms of Services』をひと通り目を通して問題なければチェックを有効にします
  7. 『Create app』を選択
これでApp keyとApp secretを入手できます。



設定ファイルの作成 (Dropbox)


Dropbox用の設定ファイルを作成します。

上記で作成したApp keyとApp secretを使用します。OAuth認証はブラウザを使用します。

rclone configの指示に従って設定ファイルを作成していきます。



C:\tmp>rclone config [Enter]
Current remotes:
Name                 Type
====                 ====
conoha               swift
conoha_old           swift
gdrive               drive
e) Edit existing remote
n) New remote
d) Delete remote
q) Quit config
e/n/d/q> n [Enter]
name> dropbox [Enter] (任意の名称でOK)
What type of source is it?
Choose a number from below
 1) swift
 2) s3
 3) local
 4) google cloud storage
 5) dropbox
 6) drive
type> 5 [Enter] (今回はdropboxなので5を選択)
Dropbox App Key - leave blank to use rclone's.
app_key> *************** [Enter] (App keyを入力)
Dropbox App Secret - leave blank to use rclone's.
app_secret> *************** [Enter] (App secretを入力)
Remote config
Please visit:
https://www.dropbox.com/1/oauth2/authorize?client_id=***************&response_type=code
Enter the code: (入力待ちのまま止まっています)


「Please visit:」の指示に従ってURLをコピーし、手持ちのブラウザで認証を行います。「Enter the code:」の入力の状態を保持しておいてください。

ブラウザで対象のDropboxユーザー(テスト用に作った方が無難です)にログインすると、認証を求めてきます。


先ほど入力した「rclone test service」が表示されてますね。

問題なければ『許可』を選択してください。


認証コードが表示されます。このコードを『Enter the code:』に入力します。


Enter the code: ******************************************* [Enter]
--------------------
[dropbox]
app_key = ***************
app_secret = ***************
token = ****************************************************************
--------------------
y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y [Enter]
Current remotes:
Name                 Type
====                 ====
conoha               swift
conoha_old           swift
dropbox              dropbox
gdrive               drive
e) Edit existing remote
n) New remote
d) Delete remote
q) Quit config
e/n/d/q> q [Enter]


これで作業は終了です。

許可したアクセス権は取り消すことが出来ます。許可したアカウントの『設定』→『セキュリティ』の下の方にアプリ名が登録されているので、テストが終わったら削除しましょう。



rcloneコマンドで遊ぼう =)


注意:

Dropboxは、ObjectStorage Swiftと異なりrootディレクトリ(入力例:dropbox:)から操作できます。うっかりroot指定で同期(sync)すると、既に存在しているrootのファイルをマルっと削除されます。仕様上、問題はないのですがウッカリ度が非常に高いです。しばらくは同期ではなくコピー(copy)を使ったほうがいいかもしれません。

この怖さを体感するまでは、テスト用のアカウントで動作確認をすることをオススメします。

ローカル → リモート(Dropbox)


入力例

ローカルにある「tdnet_test」ディレクトリを、Dropboxの「tdnet」フォルダに同期します。リモートにフォルダーがない場合でも、自動的に作成してくれます。便利。



C:\tmp>rclone sync tdnet_test dropbox:tdnet
2015/07/20 22:16:33 Dropbox root 'tdnet': Building file list
2015/07/20 22:16:33 Dropbox root 'tdnet': Waiting for checks to finish
2015/07/20 22:16:33 Dropbox root 'tdnet': Waiting for transfers to finish
2015/07/20 22:17:33
Transferred:      3732570 Bytes (  59.99 kByte/s)
Errors:                 0
Checks:                 0
Transferred:            2
Elapsed time:  1m0.7636738s
Transferring:  140120150602400929.pdf
2015/07/20 22:18:31 Waiting for deletions to finish
Transferred:      6202763 Bytes (  50.99 kByte/s)
Errors:                 0
Checks:                 0
Transferred:            3
Elapsed time:  1m58.8059936s


出来てますね。


このとも」始めました!


紹介用URLから登録すると、もれなく1000円分のクーポンが貰えるはずです。ぜひこの制度、活用してみてくださいね。私にとっても悪く無い話らしいんですよ =)

0 件のコメント:

コメントを投稿