Rcloneのインストールと同期
Rcloneとは
Rclone は、一言でいうと、「ローカルとクラウドストレージの間でファイルをコピー/同期できるツール」 です。
とりあえず、Windowsでのインストールと同期をしたので、まとめます。
Rcloneのインストール
Rclone - Install のページにまとめてありました。 Windowsの場合、バイナリをダウンロードして好きな場所において使う方法と、Windowsのパッケージマネージャーである Winget を使う方法があるようです。
バイナリファイルだと、rclone.exe を好きな場所に置くだけで使えますが、rclone コマンドをどこからでも使えるようにするには、パスを通す必要があります。 Winget を使うと、パスを通す必要がなく、rclone コマンドをどこからでも使えるようになるので、Winget を使う方法が楽に見えます。 今回は、Winget を使う方法を試しました。
Winget を使うには、Windows 10 以降が必要です(参考URL: Use WinGet to install and manage applications)。 Windows 10 以降であれば、標準でインストールされているはずです。
ターミナルを開き、以下のコマンドを実行します。
winget install Rclone.Rclone同意を求められるので、Y を入力して Enter キーを押します。
インストールが完了すると、以下のような表示になります。 再起動を求められるので、シェル(画面)を再起動します。
インストールが完了したら、rclone version コマンドでバージョンを確認します。
rclone version以下の画像のように、バージョンが表示されていれば、インストールは完了しています。
Rcloneの設定
インストール後、rclone config コマンドを実行して、Rcloneの設定を行います。
rclone config以下のような画面が表示されます。 n を選んで新しいリモートを作成します。
適当名前を入力します。 今回はDropboxを使うので、dropbox としました。
ストレージの種類を選びます。 今回の対象であるDropboxは dropbox を選びます。
クライアントIDやシークレットは空でOK(必要なら設定可能)です。
カスタム設定をするか聞かれますが、今回は n を選びました。
認証の方法を選びます。 webブラウザで認証する場合は y を、ほかの方法で認証したい場合は n を選びます。 基本的にはwebブラウザで認証する方が楽だと思います。 デフォルトの y を選びました。
ブラウザで認証を行います。 通常通りに、メールアドレスやパスワードを入力してログインします。
完了すると、ブラウザに “Success!” と表示されます。
ターミナルに戻ります。 リモートを保持するか聞かれます。 デフォルトの y を選びました。
無事にリモートが作成されました。 q を選んで設定を終了します。
ローカルのフォルダをクラウドと同期
ローカルのフォルダを Dropbox にコピーします。 私の場合は、GitHubのローカルリポジトリをバックアップしたいので、そのフォルダを指定しました。 画像など、.gitignore ファイルに記載されているファイルはGitHubにはアップロードされないので、Rcloneでバックアップすることにしたということです。
rclone copy コマンドを使います。 時間がかかる可能性があったので、-P オプションを付けて、進捗表示を付けました。
rclone copy C:/GitHub/mysite dropbox:mysite -P進捗や残り時間、現在の速度なども表示されて便利です。
エラーがなく終わったら、Dropboxを確認しました。 大丈夫そうでした。
基本コマンド
基本的なコマンドと使い方をまとめます。
リモートの内容を確認
rclone ls コマンドで、リモートの内容とサイズを確認できます。
rclone ls remote_name:remote_name は、rclone config で設定した名前です。
また、類似のコマンドに、rclone lsd や rclone lsl があります。
rclone lsd remote_name:: リモートのディレクトリ一覧を表示rclone lsl remote_name:: リモートのファイル一覧を表示(サイズや更新日時付き)
ローカルからリモートへコピー
rclone copy コマンドで、ローカルからリモートへコピーできます。
rclone copy /path/to/repo remote_name:backup/repo- ローカルの
/path/to/repoを リモートremote_nameのbackup/repoにコピー
同期(ミラーリング)
rclone sync コマンドで、ローカルとリモートを同期(ミラーリング)できます。
rclone sync /path/to/repo remote_name:backup/repoローカルとクラウドを完全に同期(クラウド側に不要なファイルがあれば削除されるので注意)
copyは「追加のみ」、削除はしませんsyncは「完全にミラー」、不要ファイルは消されるので注意
進捗表示を付けたいとき
-P オプションを付けると、進捗表示が付きます。
rclone copy /path/to/repo remote_name:backup/repo -P双方向同期
v1.71.0 以降、rclone bisync コマンドという、双方向同期のコマンドが安定板になりました。
慎重に使用しないと、データが消える可能性があるので、使う場合はドキュメントをよく読んでから使いましょう。
基本的な使用方法は通常のコピーや同期と同じです。 大事な部分をリファレンスから抜粋します。
- 最初の同期は
--dry-runと--resyncオプションを付けて実行する
- エラーがなければ、
--dry-runを外して実行する
- それ以降は、
--resyncオプションなしで実行可能する
最初の同期の例(リファレンスから抜粋し一部改変):
rclone bisync path1 remote:path2 --create-empty-src-dirs --compare size,modtime,checksum --slow-hash-sync-only --resilient -MvP --drive-skip-gdocs --fix-case --resync --dry-runオプションの意味:
--create-empty-src-dirs
空のディレクトリも同期対象に含むオプションです。標準では空のフォルダは削除または無視されますが、このフラグにより作成・削除が反映されます。--remove-empty-dirsとは併用できません。--compare size,modtime,checksum
同期の比較基準を指定します。ファイルサイズ、更新時刻(modtime)、ハッシュ値(checksum)で差分を検出します。--slow-hash-sync-only
遅い(リソースが重い)ハッシュ生成を「同期 (resync) の場合のみ」実行する設定です。他の場面ではスキップされるため、効率化が図れます。ただし、環境によっては片側だけハッシュ生成され、比較に影響する場合があります。--resilient
同期中に発生した一時的・自己修復可能なエラーに対して、bisyncが自動的にリトライして回復を試みるモードです。安定した運用に役立ちます。-MvP
以下のフラグをまとめてショートカット使用:-M: メタデータ(可能な場合)も同期
-v: 詳細なログ出力(verbose)
-P: プログレスバー付き(進捗表示)
--drive-skip-gdocs
Google Driveの場合、Googleドキュメント形式のファイル(Docs/Sheetsなど)をスキップして同期対象から外します。--fix-case
ファイル名の大文字小文字の不一致を修正するオプションです。特に大文字小文字に敏感なファイルシステム間の同期に有効です。--resync
初回の同期や設定変更、あるいは前回の実行で何らかの問題が発生した場合に使うフラグで、片方向ではなく両方向ですべてのファイルをコピーします。これにより両側が同じファイル集合を持つようになりますが、不用意に使うと削除が復活したり、重複ファイルが残ったりするリスクもあります。--dry-run
実際にはファイル操作せず、どのような同期が行われるかをリストアップするだけのテストモードです。
応用例
- 片方向の定期バックアップ:
rclone copyを cron(Linux/macOS)やタスクスケジューラ(Windows)で定期実行 - 暗号化してアップロード:
rclone configでcryptを設定すると、クラウド側に暗号化されたファイル名で保存可能
感想
とても便利です。 いろいろな機能を試しつつ、随時更新していきます。
















