最近在備份一些資料的時候,把腦筋動到 Dropbox 上面去,想要把一些比較一般的資料搬上去,在備份跟上傳 Dropbox 的部分,希望一氣呵成搞定他!
終於在 GitHub 上找到一個 Dropbox Uploader 的專案。
使用的是 Dropbox 提供的一個開發者 API,藉由 Dropbox 提供的驗證資訊以及唯一值 token 來進行登入,而且功能非常齊全!
Dropbox Uploader 設定
*** Dropbox 在 2017/09/28 停用 API v1,改用 API v2,在此篇文章已經更新至 API v2 的使用方式。
Step.1 下載 Dropbox-Upload 專案
$ yum install git $ git clone https://github.com/andreafabrizi/Dropbox-Uploader.git
如果你不需要查看 git 修改歷史可以將 .git 刪除。
Step.2 編輯 dropbox_uploader.sh,修改待會產生的設定檔位置
$ mkdir /etc/dropbox $ vim dropbox_uploader.sh #!/bin/bash CONFIG_FILE=/etc/dropbox/dropbox.conf
bash 宣告的部分預設是 #!/usr/bin/env bash,並不符合正常的 bash 環境,修改為自己的 bash 位置。
CONFIG_FILE 如果沒有修改,預設 dropbox 的登入參數會儲存到 ~/.dropbox_uploader
Step.3 開啟 Dropbox Developer API 權限
到 https://www.dropbox.com/developers/apps 登入 Dropbox,並且 Create App。
選擇 Dropbox API app → Yes → 你的 API 名稱 → Create app!
進到建立好的 Apps 紀錄以下待會會用到的資訊
Permission type , App key , App secret
Dropbox 全面改用 API v2,過去 App key / App secret 的方式已經停用,API v2 一樣在此頁面取得 access token
Step.4 執行 dropbox_uploader.sh,第一次執行會一步一步提示進行 dropbox 驗證
鍵入剛剛取得的 Access token
$ ./dropbox_uploader.sh This is the first time you run this script. 1) Open the following URL in your Browser, and log in using your account: https://www.dropbox.com/developers/apps 2) Click on "Create App", then select "Dropbox API app" 3) Now go on with the configuration, choosing the app permissions and access restrictions to your DropBox folder 4) Enter the "App Name" that you prefer (e.g. MyUploader164903255416821) Now, click on the "Create App" button. When your new App is successfully created, please click on the Generate button under the 'Generated access token' section, then copy and paste the new access token here: # Access token: xxxxxx > The access token is xxxxxxx Looks ok? [y/N]: y The configuration has been saved.
設定檔會建立在我們 step2 所設定的 /etc/dropbox/dropbox.conf 這個位置上,你可以用這個 token config 去進行任何 Dropbox 的動作。
Dropbox-Upload 使用
這邊舉例幾個常用的功能
下載檔案 remote.conf 到本機 /tmp
download <REMOTE_FILE/DIR> [LOCAL_FILE/DIR]
$ ./dropbox_uploader.sh download remote.conf /tmp
上傳檔案 remote.conf 到 Dropbox 的 /test
upload <LOCAL_FILE/DIR …> <REMOTE_FILE/DIR>
$ ./dropbox_uploader.sh upload remote.conf /test
刪除 Dropbox 上的檔案 remote.conf
delete <REMOTE_FILE/DIR>
$ ./dropbox_uploader.sh delete remote.conf
此外還支援 move , copy , mkdir , list , share , saveurl ,info , unlink 應有盡有
參考資料:
https://github.com/andreafabrizi/Dropbox-Uploader