之前默默地得到 Google for edu 的帳號,想說該善用一下空間。之前比較常用 Dropbox 的空間,所以一直沒善用 Google Drive ,但是埋在 Linode 1GB 機器上,常常覺得記憶體都被 Dropbox 吃光,這次就試試 Google drive 吧!有 1TB 的空間,就拿來備份服務產生的資料了 cc

接著,找了很久,才發現有一個用 Go 語言寫的 Google drive 指令,接著想說用 apt-get 安裝 go 語言,結果版本不夠新,又找了 gvm 來試試,總之,流程如下:
  1. 安裝 gvm
  2. 安裝編譯 golang 所需套件
  3. 安裝 drive
  4. 編輯 .bashrc 環境變數
  5. 初始化 google drive
  6. 上傳資料至 google drive
連續動作:

$ bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
$ gvm install go1.5 --binary
$ vim .bashrc
export GOPATH="$HOME/go-package”
export PATH=$PATH:$GOPATH/bin
$ go get -u github.com/odeke-em/drive/cmd/drive
$ mkdir $HOME/gdrive
$ drive init $HOME/gdrive


未來在 $HOME/gdrive 建立完資料,可以用 drive push path 來進行上傳到 Google Drive。接著就偷懶把指令擺在 crontab 啦,要留意 gvm 的使用,如:

*/20    *       *       *       *       bash -c 'source $HOME/.gvm/scripts/gvm && gvm use go1.5 && cd $HOME/gdrive && drive push -no-prompt -quiet test_auto_upload_dir/‘ > /dev/null

同理,若真的要做到 sync 的話,可以再用 drive pull test_auto_upload_dir 來更新更動,而把 sync 動作切該成 drive push 跟 drive pull 也有好處,例如可製作永遠上傳至 google drive 的功能,同時也能定期刪掉已上傳過的資料!