WSLにrcloneをインストールして、gitリポに保存するほどじゃないファイルたちを管理する方法
WSL(Windows Subsystem for Linux)を使ってLinuxの環境をWindowsで楽しんでいます。WSLはWindowsとLinuxの両方の機能にアクセスできるので、開発者にとってとても便利です。家と職場の両方から参照したいけど、gitリポに保存するほどじゃないファイルたちです。gitリポに保存すると、履歴が膨大になったり、プライベートな情報が漏れたりする可能性があります。WSLにrcloneというツールをインストールして、クラウドストレージにファイルを同期する方法を紹介したいと思います。
rcloneとは?
rcloneとは、コマンドラインから様々なクラウドストレージにアクセスできるツールです。Google DriveやAmazon S3などの有名なサービスはもちろん、FTPやSFTPなどのプロトコルにも対応しています。rcloneを使えば、ローカルのファイルとクラウドのファイルをコピーしたり、同期したり、移動したり、削除したりできます。また、マウント機能を使えば、クラウドのファイルをローカルのドライブとして扱うこともできます。
WSLにrcloneをインストールする方法
WSLにrcloneをインストールするには、以下の手順を実行します。
- rcloneの公式サイトから、環境に合ったインストーラをダウンロードします。
- 今回は、Ubuntu 20.04を使っているので、Linux用のインストーラを選びました。
- ダウンロードしたファイルを任意のフォルダに解凍します。
- ここでは、
~/rclone
というフォルダに解凍しました。 - 解凍したフォルダに移動して、
rclone
という実行可能ファイルを/usr/bin
にコピーします。
これで、どこからでもrcloneコマンドを使えるようになります。
cd ~/rclone
sudo cp rclone /usr/bin
rcloneの設定ファイルを作成します。
rclone config
というコマンドを実行すると、対話式のメニューが表示されます。ここでは、Google Driveにアクセスするための設定を行いました。詳細な設定方法は、rcloneのドキュメントを参照してください。
rclone config
設定が完了したら、rclone listremotes
というコマンドで、作成したリモートの一覧を確認できます。ここでは、gdrive:
という名前でGoogle Driveのリモートを作りました。
rclone listremotes
gdrive:
gitリポに保存するほどじゃないファイルたちをクラウドに同期する方法
WSLにrcloneをインストールして、クラウドのリモートを作成したら、あとは簡単です。rclone sync
というコマンドで、ローカルのファイルとクラウドのファイルを同期できます。例えば、~/Documents
というフォルダをGoogle DriveのDocuments
というフォルダに同期するには、以下のようにします。
rclone sync ~/Documents gdrive:Documents
これで、~/Documents
にあるファイルがGoogle DriveのDocuments
にも反映されます。逆に、Google DriveのDocuments
にあるファイルが~/Documents
にも反映されます。同期するときに、削除や上書きが発生する場合は、確認メッセージが表示されます。-P
オプションを付けると、同期の進捗状況が表示されます。
rclone sync -P ~/Documents gdrive:Documents
同期するファイルやフォルダを絞りたい場合は、--include
や--exclude
というオプションを使って、パターンを指定できます⁷。例えば、*.txt
という拡張子のファイルだけを同期するには、以下のようにします。
rclone sync --include "*.txt" ~/Documents gdrive:Documents
同期するのではなく、コピーしたい場合は、rclone copy
というコマンドを使います⁸。これは、ローカルのファイルをクラウドにコピーするだけで、クラウドのファイルをローカルにコピーしないという違いがあります。また、削除や上書きは発生しません。例えば、~/Pictures
というフォルダをGoogle DriveのPictures
というフォルダにコピーするには、以下のようにします。
rclone copy ~/Pictures gdrive:Pictures
まとめ
今回は、WSLにrcloneをインストールして、gitリポに保存するほどじゃないファイルたちをクラウドに同期する方法を紹介しました。rcloneを使えば、コマンドラインから簡単にクラウドストレージにアクセスできるので、WSLで作成したファイルの管理に便利です。もちろん、WSL以外の環境でも使えますし、クラウドストレージの種類も自由に選べます。ぜひ、rcloneを試してみてください。