Google Driveを使っている方は多いかと思います。しかしその殆どの方がストレージと言うよりもオフィススイート系ファイルの置き場としてでしょう。しかしGoogle Driveはその名の通り、DropboxやOneDriveのようにストレージとして利用できます。 今回紹介するgdriveはGoogle Driveをローカルから操作するためのCLIです。

gdriveの使い方

例えばファイルの一覧であれば gdrive list でできます。

$ gdrive list
Id                                             Name                                       Type   Size      Created
10OskR_G5ZglJelvfTg0w   記事一覧                                       doc              2015-06-16 21:15:54
1Ad3pmRRQ16fZwR8U51vw   GoのメタLinterツール、gometalinterを使いこなそう         doc              2017-06-18 17:35:44
1jw2eZQO0GgKB7I_OKf_c   TypeScriptの静的コードレビューにTSLintを使いましょう         doc              2017-06-17 13:37:43
1lHcPL_TpqpfDJ87_yiZ0   ベストな Rails ...ils_best_practices を使いましょう   doc              2017-06-11 17:27:06
1sOwf3pR6omRwRdgIRAas   Hamlを使っているならhaml-lintを使ってコードレビューをしましょう     doc              2017-06-16 17:15:55

さらにローカルとの同期の場合は、まず専用のディレクトリを作ります。

$ gdrive mkdir local-mac
Directory 0B0YgXmLW6br1rRFk created

そして、そのディレクトリにファイルを入れてsyncコマンドを実行します。

$ gdrive sync upload seihan20170605 0B0YgXmLW61rRFk
Starting sync...
Collecting local and remote file information...
Found 6 local files and 0 remote files

6 remote files are missing
[0001/0006] Uploading UNADJUSTEDNONRAW_thumb_408d.jpg -> local-mac/UNADJUSTEDNONRAW_thumb_408d.jpg
[0002/0006] Uploading UNADJUSTEDNONRAW_thumb_4d12.jpg -> local-mac/UNADJUSTEDNONRAW_thumb_4d12.jpg
[0003/0006] Uploading UNADJUSTEDNONRAW_thumb_50f8.jpg -> local-mac/UNADJUSTEDNONRAW_thumb_50f8.jpg
[0004/0006] Uploading pull up banner (Tokyo).psd -> local-mac/pull up banner (Tokyo).psd
[0005/0006] Uploading xbanner_l.ai -> local-mac/xbanner_l.ai
[0006/0006] Uploading 確認用イメージ.png -> local-mac/確認用イメージ.png
Sync finished in 57.508211848s

これでアップロード完了です。さらにGoogle Drive上のファイルをダウンロードすることもできます。定期的にダウンロードとアップロードを行うことでGoogle Driveをバックアップとして利用することもできます。Dropbox並に自動で、という訳ではありませんが十分便利でしょう。

gdriveはGo製のオープンソース・ソフトウェア(MIT License)です。

prasmussen/gdrive: Google Drive CLI Client