これなに?
GoogleDriveで.zshrcなどの設定ファイルを同期的に管理する方法の忘備録
Dropboxじゃだめなの?
もちろんDropboxでも良いが、僕の使い方が悪いせいで不必要なところで同期されてしまうことが多々あった(+無料版だと容量が少ない)ので、gitのように意識的に同期できるような感じにしたかった
使うもの
GoogleDriveをCLI上で使えるようにするために、gdriveをインストール。macならば
brew install gdrive
で完了
方法
1.認証
$ gdrive list
とすると、URLが出てくるので、そこからtokenを取ってきて、打ち込んで認証完了。超簡単
2.ローカルのディレクトリを作成してupload
$ mkdir [ディレクトリ名]
として、ローカルに同期用のディレクトリを作成
そのディレクトリをGoogleDriveにアップロード
$ gdrive upload --recursive [ディレクトリ名]
3.同期するためにIDを入手
$ gdrive list | grep "[ディレクトリ名]"
でIDを入手。あとで使うので控えておく
4. シンボリックリンクを貼る
作成したディレクトリの配下に.zshrc
など設定ファイルをコピーし、シンボリックリンクを貼る
$ mkdir [ディレクトリ名]/dotfiles
$ cp ~/.zshrc [ディレクトリ名]/dotfiles
$ ln -s [ディレクトリ名]/dotfiles/.zshrc .zshrc
5. ディレクトリを同期
最後にディレクトリを同期する先程のIDを使用して、
$ gdrive sync upload [ディレクトリ名] [ID]
とすると、ディレクトリが同期される。ちなみに普通のupload
だと、同じ名前のディレクトリがGoogleDrive上にもう一つ作られてしまう
$ gdrive sync list
と打ち込んで、対象のディレクトリが出てくれば成功
いちいち打つのは面倒なので、
alias gsync='gdrive sync upload [ディレクトリ名] [ID]'
とalias
を設定しておけば、gsync
と打つだけで内容が同期される
別のPCにダウンロード
別のPCに対象のディレクトリをダウンロードして同期したいときは
$ gdrive download [ID]
あとは上記の4.
以降と同様