這裡介紹如何在 Linux 中使用 Grive 指令工具,讓 Google 雲端硬碟跟本機硬碟中的檔案同步。
Google 雲端硬碟是 Google 所提供的線上雲端儲存服務,除了可以儲存各種檔案之外,也支援檔案的同步、分享與協同編輯等功能,而目前 Google 雲端硬碟已經支援 Windows、Mac OS X、Android 與 iOS 這些平台,但是 Linux 卻尚未有官方的正式支援,因此在 Linux 平台上若想要使用 Google 雲端硬碟只能使用網頁來存取,或是使用第三方所開發的軟體。
Grive 是一個開放原始碼的非官方 Google 雲端硬碟 Linux client,它是一個指令模式的工具,可讓 Linux 本機的資料夾與 Google 雲端硬碟同步,只要啟動這個 Grive 之後,它就會自動把本機的檔案變動同步到 Google 雲端硬碟上,反之亦然。
在 Ubuntu Linux 中,若要安裝 Grive,使用 apt 安裝,首先加入這個 PPA:
sudo add-apt-repository ppa:nilarimogard/webupd8
然後再安裝 grive
套件:
sudo apt-get update sudo apt-get install grive
如果不想使用第三方的 PPA,要從原始碼編譯安裝也可以,首先安裝一些必要套件:
sudo apt-get install cmake build-essential libgcrypt11-dev libjson0-dev libcurl4-openssl-dev libexpat1-dev libboost-filesystem-dev libboost-program-options-dev binutils-dev
再從 Grive 的網站下載原始碼,或直接使用 wget
下載:
wget http://www.lbreda.com/grive/_media/packages/0.2.0/grive-0.2.0.tar.gz
解壓縮之後再編譯並安裝:
tar xvfvz grive-0.2.0.tar.gz cd grive-0.2.0 cmake . make sudo make install
安裝完成之後,第一次執行前,要先建立一個本機的資料夾,然後再使用 grive
指令配合 -a
參數跟 Google 雲端硬碟設定同步:
mkdir ~/google_drive cd ~/google_drive grive -a
執行之後,會出現一個 URL 網址,這是為了取得 Google 應用程式的權限用的,以瀏覽器打開這個網址之後,登入 Google 的帳號,就可以看到這樣畫面:
點擊「接受」後,就會出現一個授權碼:
把這個授權碼複製下來,貼在剛剛 Grive 要求輸入授權碼(authentication code)的地方:
貼上授權碼之後,再按下 Enter
鍵,這時候 Grive 就會把所有 Google 雲端硬碟上的資料同步到這個資料夾中:
之後如果在本機的 ~/google_drive
目錄或是 Google 雲端硬碟有新增、修改或刪除的檔案時,你可以在這個目錄中執行 grive
指令,這樣 Grive 就會自動將本機與 Google 雲端硬碟檔案作比對,自動下載或上傳,讓兩邊的檔案同步,例如若在本機新增一個 new_file
檔案:
cd ~/google_drive touch new_file
如果要進同步,就執行:
grive
輸出為
Reading local directories
Synchronizing folders
Reading remote server file list
Detecting changes from last sync
Synchronizing files
sync “./new_file” doesn’t exist in server, uploading
Finished!
這裡 Grive 發現 ./new_file
這個檔案沒有在 Google 雲端硬碟上,就會自動上傳。當然如果 Grive 發現 Google 雲端硬碟上有新檔案時,它也會幫你自動下載。
參考資料:Xmodulo