Linux Server實作Dropbox雲端檔案同步
# cd ~
下載適合自己環境的版本
# wget http://www.dropbox.com/download/?plat=lnx.x86 -O dropbox.tar.gz
or
# wget http://www.dropbox.com/download/?plat=lnx.x86_64 -O dropbox.tar.gz
or
# wget http://www.dropbox.com/download/?plat=lnx.x86_64 -O dropbox.tar.gz
解壓縮檔案
# tar -zxvpf dropbox.tar.gz
執行Dropbox daemon
# ~/.dropbox-dist/dropboxd
第一次執行daemon,程式並沒有地方讓你輸入帳號密碼,但是會產生一段連結,透過存取連結來認證身分
This client is not linked to any account...
Please visit https://www.dropbox.com/cli_link?host_id=xxxxxxxxxxxxxxxx to link this machine.此時從電腦上存取連結,登入Dropbox,網頁上方則會出現「This computer is already linked to a Dropbox account.」
回到Server上則可以看到歡迎訊息,代表連結成功
Client successfully linked, Welcome chiahsin!
第一次執行daemon,程式並沒有地方讓你輸入帳號密碼,但是會產生一段連結,透過存取連結來認證身分
This client is not linked to any account...
Please visit https://www.dropbox.com/cli_link?host_id=xxxxxxxxxxxxxxxx to link this machine.此時從電腦上存取連結,登入Dropbox,網頁上方則會出現「This computer is already linked to a Dropbox account.」
回到Server上則可以看到歡迎訊息,代表連結成功
Client successfully linked, Welcome chiahsin!
連結成功之後,就會在你的家目錄底下建立一個「Dropbox」的目錄,開始進行同步檔案,不過dropboxd是在前景執行,下次啟動時可以將他丟到背景(&)去跑;此外,光是依靠dropboxd的daemon並沒有辦法看出檔案同步的狀態,這時候我們需要一個額外的指令,可以啟動程式、停止程式與顯示狀態。很高興官方都幫我們準備好了,我們只要下載就可以使用
# wget http://www.dropbox.com/download?dl=packages/dropbox.py
# chmod +x dropbox.py
將檔案設定為可以執行,隨意你放哪裡都可以,通常會建議放在~/bin、/usr/local/bin
# chmod +x dropbox.py
將檔案設定為可以執行,隨意你放哪裡都可以,通常會建議放在~/bin、/usr/local/bin
Python版本需要2.6以上
# dropbox.py help
File "./dropbox.py", line 128
with open(pidfile, "r") as f:
^
SyntaxError: invalid syntax若是出現以上訊息,代表Python不符合,請升級!我也遇到如此狀況,可是系統內yum也無法直接升級到2.6的版本,這時請自己到「Python」自己下載安裝,解壓縮 && configure && make && make install,預設新的Python的指令會在「/usr/local/bin/python」重新檢查版本沒有問題
# /usr/local/bin/python -V
Python 2.7.1vi dropbox.py的檔案,將第一行的「#!/usr/bin/python」置換成「#!/usr/local/bin/python」
File "./dropbox.py", line 128
with open(pidfile, "r") as f:
^
SyntaxError: invalid syntax若是出現以上訊息,代表Python不符合,請升級!我也遇到如此狀況,可是系統內yum也無法直接升級到2.6的版本,這時請自己到「Python」自己下載安裝,解壓縮 && configure && make && make install,預設新的Python的指令會在「/usr/local/bin/python」重新檢查版本沒有問題
# /usr/local/bin/python -V
Python 2.7.1vi dropbox.py的檔案,將第一行的「#!/usr/bin/python」置換成「#!/usr/local/bin/python」
dropbox.py的執行
查看HELP
# dropbox.py help
Dropbox command-line interfacecommands:Note: use dropbox help <command> to view usage for a specific command. status get current status of the dropboxd
help provide help
puburl get public url of a file in your dropbox
stop stop dropboxd
running return whether dropbox is running
start start dropboxd
filestatus get current sync status of one or more files
ls list directory contents with current sync status
autostart automatically start dropbox at login
exclude ignores/excludes a directory from syncing啟動中
# dropbox.py status
Starting...建立檔案INDEX
# dropbox.py status
Uploading 477 files...
Indexing 3310 files...
Downloading file list...開始下載檔案囉!
# dropbox.py status
Downloading 28907 files (71.0 KB/sec, 45 hr left)透過stop可以停止服務
# dropbox.py stop
Dropbox daemon stopped.
停止後查看狀態
# dropbox.py status
Dropbox isn't running!透過start啟動服務
# dropbox.py start
Starting Dropbox...Done!
# dropbox.py help
Dropbox command-line interfacecommands:Note: use dropbox help <command> to view usage for a specific command. status get current status of the dropboxd
help provide help
puburl get public url of a file in your dropbox
stop stop dropboxd
running return whether dropbox is running
start start dropboxd
filestatus get current sync status of one or more files
ls list directory contents with current sync status
autostart automatically start dropbox at login
exclude ignores/excludes a directory from syncing啟動中
# dropbox.py status
Starting...建立檔案INDEX
# dropbox.py status
Uploading 477 files...
Indexing 3310 files...
Downloading file list...開始下載檔案囉!
# dropbox.py status
Downloading 28907 files (71.0 KB/sec, 45 hr left)透過stop可以停止服務
# dropbox.py stop
Dropbox daemon stopped.
停止後查看狀態
# dropbox.py status
Dropbox isn't running!透過start啟動服務
# dropbox.py start
Starting Dropbox...Done!
以上的主要步驟參考:http://wiki.dropbox.com/TipsAndTricks/TextBasedLinuxInstall官方的文件還有教導更多東西,譬如說如何設定為服務,以及開機啟動,不過我覺得dropbox.py的指令就更方便了。而更改Dropbox同步的目錄也可以透過指令更改,不過我執行時就一直遇到失敗,直接用link解決掉。現在我就等著同步完成啦~檔案太多要花不少時間啊!這個簡易的方式真的很不錯,若是在多台主機上面同時使用,還可以同步每台server的檔案,不過我目前還沒有愛玩到這種程度啊!有的話一定會再跟大家報告的^^。