Terminal環境しかないLinux(例えばAWSやPaperSpaceのリモートサーバーとか)でGoogleDriveにアクセスしてデータをやり取りする方法。
Skickaを使います。
[linkcard url=”https://github.com/google/skicka
“]
skicka download googledrive.txt ~/
skicka upload ~/linux.txt /
のような感じでダウンロード/アップロードします。
Go言語インストール
SkickaはGo言語で開発するためGo言語をインストールする必要があります。
配布ページでダウンロードリンクを確認します。以下は私がやった時の記述です。
# ユーザーホームで実行する
cd ~/
# Goをダウンロード
wget https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz
# /usr/localにアーカイブを展開して元データを削除
sudo tar -C /usr/local -xzf ~/go1.10.3.linux-amd64.tar.gz
rm go1.10.3.linux-amd64.tar.gz
# パスを通す
echo '# golang' >> ~/.bashrc
echo export PATH='$PATH:/usr/local/go/bin' >> ~/.bashrc
source ~/.bashrc
Go言語はこれで動作のはず……です。
source ~/.bashrc
go version
go env
で動作確認します。
Skickaのインストール
以下のコマンドでskickaをダウンロードしてビルドします。
go get github.com/google/skicka
go build github.com/google/skicka
最後にskickaをPATHの通ったところに移動させます。PATHはecho $PATH
で確認。
sudo mv ~/go/bin/skicka /usr/local/go/bin/
以上でSkickaが動作可能です。
Skicka初期設定
# 初期設定
skicka init
# ブラウザなしでGoogleへの認証
skicka -no-browser-auth ls
上記のコマンドでURLが出てくるためそれを何かしらの端末のブラウザで開きます。
ブラウザで認証コードが出てくるのでそれをLinux側に貼りつけると初期設定完了。
skicka ls
でGoogleDrive内が参照できます。