接著,找了很久,才發現有一個用 Go 語言寫的 Google drive 指令,接著想說用 apt-get 安裝 go 語言,結果版本不夠新,又找了 gvm 來試試,總之,流程如下:
- 安裝 gvm
- 安裝編譯 golang 所需套件
- 安裝 drive
- 編輯 .bashrc 環境變數
- 初始化 google drive
- 上傳資料至 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 的功能,同時也能定期刪掉已上傳過的資料!