Rclone とは、Google Drive・Amazon S3・OneDrive など50以上のクラウドストレージを、ひとつのコマンド体系で扱えるオープンソースのCLIツールです。rclone config で接続先を登録すれば、あとは remote:path という同じ書式でコピー・同期・マウントができます。この記事では「何ができるか」「最初の3コマンド」「データを消しうる sync と安全な copy の違い」を、公式ドキュメントに沿って順に押さえます。
この記事ではRAGに特化して解説します。RAG全般は RAGとは?仕組み・構築・ベクトルDB選定までの2026年実装マップ をご覧ください。
概要
Rcloneは、Google Drive・Dropbox・AWS S3・OneDrive・Azure Blob Storageなど、50を超えるクラウドストレージサービスに対応したコマンドラインツール。異なるプラットフォーム間でのファイル同期・転送・削除をUnix/Linux/Windows/macOS上で統一されたコマンドで実行できる。2013年から開発が続き、GitHubで★58,838(2026年7月30日時点・MITライセンス)を獲得している。最新版は v1.74.4(2026年7月8日リリース)。
主な機能
- マルチクラウド対応:Google Drive、Dropbox、S3、Azure、OneDrive、Mega、Seafile、Backblazeなど50以上のストレージに対応し、1つのツールで統一管理
- 双方向同期:2つのストレージ間でファイルを同期し、削除や更新を自動追跡。
--bisyncフラグで双方向同期を実行 - フィルタリング機能:ファイルサイズ、拡張子、更新日時などの条件指定で転送対象を制限。
--min-sizeや--excludeパターンで精密な制御が可能 - 帯域幅制限:
--bwlimitで転送速度を制御し、ネットワークへの負荷を調整。スケジュール指定も対応 - チェックサム検証:転送後のファイル整合性を自動確認し、破損防止。ハッシュアルゴリズム複数対応
- マウント機能:クラウドストレージをローカルファイルシステムとしてマウント(
rclone mount)。ローカルアプリから直接アクセス可能 - バッチ処理対応:スクリプトやcron、タスクスケジューラと組み合わせて定期実行。大規模なファイル移行を無人で完結
データ転送フロー
ファイルシステム"] -->|rclone copy/sync| B["Rclone
エンジン"] B -->|OAuth2 / API Key| C["Google Drive
Dropbox"] B -->|IAM Role / API Key| D["AWS S3
Backblaze B2"] B -->|OAuth2| E["OneDrive
Azure Blob"] C -->|Server-side copy| D D -->|チェックサム検証| F["転送完了
整合性確認"] C -->|チェックサム検証| F E -->|チェックサム検証| F
Rcloneはローカルを経由せず、対応クラウドサービス間のサーバーサイドコピーを活用して高速転送を実現する。S3やBackblaze B2など、サーバーサイドコピーAPIを持つサービス同士であれば、クライアントの帯域幅を消費せずに転送が完結する。
技術スタック
- 言語:Go言語(バイナリサイズが小さく、単一実行ファイルで配布)
- OS対応:Linux、Windows、macOS、Raspberry Pi、Android
- 認証方式:OAuth 2.0、API キー、IAM ロール対応
- 依存性:外部ライブラリを最小限に設計、単体で動作
導入方法
インストール(Linux/macOS):
curl https://rclone.org/install.sh | sudo bash
初期設定:
rclone config
コマンドで対話型設定画面を起動し、クラウドストレージの認証情報を登録する。
基本的な使用例:
# Google DriveからS3へファイルをコピー
rclone copy gdrive:folder s3:bucket-name
# 同期(一方向)
rclone sync source: dest:
# 双方向同期
rclone bisync source: dest:
# 削除確認付きドライラン
rclone delete --dry-run gdrive:old-folder
帯域幅制限付きの定期バックアップ(cronと組み合わせ):
# 毎日深夜2時にS3へバックアップ、転送速度10MB/sに制限
0 2 * * * rclone sync /data s3:my-backup-bucket --bwlimit 10M --log-file /var/log/rclone.log
設定ファイルと認証情報の管理ポイント
Rcloneの設定は ~/.config/rclone/rclone.conf にOAuthトークンや認証情報が平文で保存される。複数人で共有するサーバーや、CI/CD環境で使う際は以下の点に注意する。
- 環境変数で上書き:
RCLONE_CONFIG変数で設定ファイルのパスを変更可能。CI環境では専用パスを指定してセキュリティを保つ - 暗号化オプション:
rclone configのsオプションで設定ファイル自体をパスフレーズ暗号化できる - サービスアカウント利用:Google Driveでは個人のOAuthトークンではなくサービスアカウントJSONを使うことで、トークン失効を回避できる
- クラウドからの設定読み込み:
--configフラグでS3やGCS上の設定ファイルを直接参照可能。コンテナ環境でのシークレット管理に有効
Rcloneとは何ができるツールか――3行で
・50以上のクラウドストレージを、同じコマンド体系で扱えるCLI。Google Drive も S3 も OneDrive も remote:path という同じ書き方で指定する
・Go製の単一バイナリ。ランタイムの導入が要らず、Linux/Windows/macOS/Raspberry Pi にコピーするだけで動く
・対応サービス同士ならサーバーサイドで転送する。自分の回線を通さずクラウド間を直接コピーできるケースがある
「クラウドのファイルをローカルに全部落としてから、別のクラウドに上げ直す」という作業を、コマンド1つに置き換えるのが基本的な役割です。
Rcloneの使い方――最初の3コマンド
インストール後にやることは実質3つだけです。rclone config で接続先を登録し、rclone lsd で見えるか確認し、rclone copy で運ぶ。
# 1. 接続先(リモート)を対話形式で登録する
# 「n」で新規 → 名前を付ける(例: gdrive)→ サービスを選ぶ → 認証
rclone config
# 2. 登録できたか確認する(リモート名の後ろのコロンを忘れない)
rclone listremotes # 登録済みリモート一覧
rclone lsd gdrive: # 直下のディレクトリ一覧
rclone ls gdrive:Documents # ファイル一覧(サイズ付き)
# 3. コピーする(コロンの左がリモート名、右がパス)
rclone copy /home/me/data gdrive:backup/data
rclone copy gdrive:backup/data s3:my-bucket/data # クラウド → クラウド
Rcloneの引数はすべて
リモート名:パス の形です。ローカルパスはコロンなしで書きます。つまり rclone copy A B の A と B を差し替えるだけで、ローカル→クラウド/クラウド→ローカル/クラウド→クラウドのすべてが同じ構文で書けます。サービスごとにCLIを覚え直さなくてよいのがRcloneの最大の実利です。sync と copy の違い――ここを間違えるとデータが消える
Rcloneでいちばん事故が起きるのがここです。sync は宛先を送信元と同一にするコマンドで、宛先にしか無いファイルを削除します。
| コマンド | 挙動 | 宛先の余分なファイル | 用途 |
|---|---|---|---|
rclone copy |
送信元にあるものを宛先へ追加・更新 | 消さない | バックアップの積み増し、初回移行 |
rclone sync |
宛先を送信元と同一にする | 消す | ミラーを維持したいとき |
rclone move |
コピー後に送信元を削除 | — | 移設して元を空にする |
rclone bisync |
双方向に差分を反映 | 双方で変化 | 2拠点を対等に同期 |
公式ドキュメントも rclone sync の項で、宛先からファイルを消したくないなら copy を使うこと、そしてデータ損失を起こしうるため --dry-run か --interactive(-i)で先に試すことを明記しています。
# まず何が起きるか見る(実際には転送も削除もしない)
rclone sync /data s3:my-bucket --dry-run
# 1件ずつ確認しながら実行する
rclone sync /data s3:my-bucket --interactive
# 進捗を出しながら本番実行
rclone sync /data s3:my-bucket --progress
・send元と宛先を逆に書く:
rclone sync s3:my-bucket /data と打つと、ローカルの /data がバケットの内容に合わせて削除されます。sync は必ず --dry-run を通してから・途中でパスを1階層間違える:宛先が空ディレクトリだと「宛先にしか無いファイル=全部」となり、大量削除になります
・除外設定を後から足す:除外されたファイルは既定では削除されませんが、
--delete-excluded を付けると削除対象になりますmount・crypt・帯域制限――知っておくと効く3つのオプション
# ① クラウドをローカルのディレクトリとしてマウントする
rclone mount gdrive: ~/mnt/gdrive --vfs-cache-mode writes
# → 普通のファイラーやエディタからそのまま開ける。書き込みを伴うなら
# --vfs-cache-mode を付けないとアプリ側が失敗することがある
# ② 転送速度を絞って夜間バックアップを回す
rclone sync /data s3:my-backup --bwlimit 10M --log-file /var/log/rclone.log
# ③ 暗号化リモート(crypt)を経由して保存する
# rclone config で "crypt" を選び、既存リモートをラップする形で作成する
rclone copy /secret secret-crypt: # ファイル名も中身も暗号化して置かれる
・mount は「クラウドをドライブとして見せる」機能で、既存アプリを変えずにクラウド上のファイルを扱いたいときに使います。大量の細かい読み書きには向きません
・crypt はRclone側で暗号化してから保存する仕組みで、クラウド事業者側には中身もファイル名も見えません。復号にはRcloneの設定(パスフレーズ)が必要なので、設定の紛失=データの紛失になります
・--bwlimit は業務時間帯に回線を食い潰さないための必須オプション。--bwlimit "08:00,1M 22:00,off" のように時間帯指定もできます
よくあるエラーと確認手順
| 症状 | 主な原因 | 確認・対処 |
|---|---|---|
directory not found |
リモート名の後のコロン漏れ、パスの綴り | rclone lsd remote: で存在確認 |
| 認証エラーが再発する | OAuthトークンの失効 | rclone config reconnect remote: |
| 転送が極端に遅い | 小さいファイルが大量 | --transfers --checkers を上げる |
| 転送後に中身が合っているか不安 | — | rclone check src dst でハッシュ照合 |
| CI/コンテナで設定が読めない | 設定ファイルの場所 | RCLONE_CONFIG 環境変数か --config で明示 |
設定ファイル(~/.config/rclone/rclone.conf)にはOAuthトークンが平文で入る点は必ず押さえてください。共有サーバーやCIで使うなら、後述のとおり設定自体の暗号化かサービスアカウントの利用を検討します。
RAG・AI用途でRcloneが効く場面――「散らばった原本を1か所に集める」
RAGを組むときに最初にぶつかるのは、ベクトルDBの選定ではなく原本がどこにあるか分からない問題です。営業資料はGoogle Drive、議事録はOneDrive、ログはS3、過去案件は社内NASという状態から始まることが多く、ここをどう吸い上げるかで後続の全工程が決まります。Rcloneはこの「収集レイヤー」を1本のコマンドに畳めます。
# 3か所の原本を1つの作業ディレクトリへ集約する(既存ファイルは消さない copy を使う)
rclone copy gdrive:営業資料 ./corpus/sales --include "*.{pdf,docx,pptx}"
rclone copy onedrive:議事録 ./corpus/minutes --include "*.{docx,md}"
rclone copy s3:archive/2025 ./corpus/archive --max-age 365d
# 集めたものの件数と容量を確認する
rclone size ./corpus
・--include / --exclude で拡張子や期間を絞ってから落とすのが要点です。全部落としてから捨てるより、転送量も時間も桁で変わります
・--max-age は更新日時での絞り込み。「直近1年分だけをインデックスする」といった要件をそのまま書けます
・定期的に取り直すなら、収集先は copy で積み増し、インデックス済みの成果物側だけを sync でミラーする構成が安全です
集めた原本の中身をテキストに落とす工程は別のツールの仕事になります。PDFの表や数式まで拾うなら MinerU|PDFをマークダウンに変換するOSSツール — 表・数式・レイアウトを高精度抽出、その先のチャンク分割・検索・生成を一気通貫で組むなら RAGFlow|エンタープライズRAGエンジンの導入と使い方 — DeepDoc・ナレッジベース構築 が対応します。Rcloneはあくまでその前段の運搬役という位置づけです。
収集レイヤーをRcloneに寄せる利点
・認証を1か所に集約できる:サービスごとのSDK・トークン管理を書かずに済む。rclone.conf だけを守ればよくなる
・再実行が安全:同一ファイルはサイズと更新時刻(またはハッシュ)で判定してスキップするため、cronで毎日回しても無駄な転送が起きない
・検証コマンドが標準で付く:rclone check でコピー元と先のハッシュを突き合わせられる。「取りこぼしゼロ」を人手の目視でなくコマンドで確認できる</div>
Rcloneを選ぶ前に確認しておくこと
| 確認項目 | 見るポイント |
|---|---|
| そのサービスに対応しているか | 公式のサービス一覧で名前を確認する。同名でも法人向け/個人向けで挙動が違うことがある |
| APIのレート制限 | Google Drive など、短時間に大量リクエストを投げると制限に当たる。--tpslimit で抑える |
| サーバーサイドコピーの可否 | 同一プロバイダ内なら自分の回線を使わずに済む。跨ぐ場合はローカル経由になり時間と帯域を食う |
| 認証情報の保管場所 | ~/.config/rclone/rclone.conf は平文。共有環境なら設定の暗号化かサービスアカウントを使う |
| 削除の扱い | ゴミ箱に入るか完全削除かはサービス依存。sync の前に必ず --dry-run |
Rcloneの
sync は送信元の状態をそのまま宛先に反映するため、送信元でファイルを誤って消したまま同期すると、宛先からも消えます。世代管理が要る用途では --backup-dir で退避先を指定するか、宛先側でバージョニング(S3のObject Versioning等)を有効にしてください。「同期していたから安心」は成立しません。競合との違い
| ツール | 対応ストレージ数 | クラウド間直接転送 | オープンソース | GUI |
|---|---|---|---|---|
| Rclone | 50以上 | ◎ | ✅ 無料 | なし(WebUI別途) |
| gsutil / aws-cli | 1サービス専用 | △ | ✅ | なし |
| CloudBerry / MSP360 | 複数対応 | ◎ | ❌ 有料 | あり |
| rsync | ローカル・SSH | ✗ | ✅ 無料 | なし |
vs gsutil/aws-cli:Google CloudやAWSの純正ツールは該当クラウド専用。Rcloneは複数ストレージに対応し、ストレージ間の直接転送をサポートしており、学習コストも1つのコマンド体系で済む。
vs CloudBerry、MSP360:商用クラウドバックアップツールと異なり、Rcloneはオープンソース無料。GUIがなく機能は限定的だが、スクリプト化・自動化の自由度が高く、カスタマイズ性に優れている。
vs rsync:rsyncはローカルやSSH経由のファイル同期専門。Rcloneはクラウド認証・API経由の転送を前提設計。帯域幅制限やチェックサムもクラウド環境向けに最適化されている。
既存のオンプレミスストレージやGoogleドライブのデータをAWS S3へ移行。`rclone copy` コマンドでテラバイト単位のデータも、帯域幅制限を設定しながら無停止で移行できる。 2. 定期バックアップの自動化
cronやタスクスケジューラと組み合わせ、毎日深夜にローカルデータをクラウドへ差分バックアップ。失敗時のリトライも自動化されており、運用監視コストを削減できる。 3. 複数クラウドの冗長バックアップ
S3とBackblaze B2に同じデータを二重保存することで、単一クラウドの障害時にも復旧可能な冗長構成を実現。コストの安いBackblaze B2との組み合わせでコスト最適化にも活用される。 4. RAGパイプラインのデータ収集
複数クラウドに散在するドキュメントをローカルまたは別のストレージへ集約し、RAGFlowなどのRAGシステムへの入力データを準備するプリプロセッサとして活用。
対応サービスの代表例と、選ぶときの見どころ
Rcloneが対応するのは「クラウドストレージ」だけではありません。代表的な区分を挙げます。
| 区分 | 代表例 | 実務での使いどころ |
|---|---|---|
| オブジェクトストレージ | Amazon S3、Google Cloud Storage、Azure Blob、Backblaze B2、Cloudflare R2、MinIO | ログ・アーカイブの集約先。同一プロバイダ内はサーバーサイドコピーが効きやすい |
| 個人・法人向けドライブ | Google Drive、OneDrive、Dropbox、Box | 現場の原本が置かれている場所。APIレート制限に注意 |
| 自己ホスト | Nextcloud、Seafile、WebDAV、SFTP、FTP | オンプレ資産の吸い上げ。SFTP対応があるので旧サーバーもそのまま扱える |
| 特殊 | crypt(暗号化ラッパー)、union(複数リモートの束ね)、chunker(分割) | 既存リモートをラップして機能を足すタイプ。単体のサービスではない |
最後の「特殊」区分がRcloneらしい部分です。crypt や union は実サービスではなく、他のリモートを包んで挙動を変える仮想リモートとして設定します。たとえば「S3に置くが中身は暗号化しておきたい」なら、S3リモートを作ってからそれをラップする crypt リモートを作り、以降は crypt 側の名前だけを使います。
・サーバーサイドコピーが効くかが転送時間を大きく左右します。同一プロバイダ内(S3 → S3 など)なら自分の回線を使わずに済みますが、プロバイダを跨ぐとローカル経由になります
・APIのレート制限はサービス側の都合です。Google Drive のように短時間の大量リクエストで制限に当たるものは --tpslimit や --transfers を絞ります
・同名でも法人版と個人版で挙動が違うことがあります(共有ドライブの扱いなど)。本番投入前に小さなディレクトリで copy と check を通しておくのが確実です
こんな人におすすめ
- 複数ストレージ運用中のエンジニア:異なるクラウドサービス間でのデータ移行・同期が頻繁。1つのコマンドで統一管理できるメリットが大きい。
- 定期バックアップを自動化したい人:cronやタスクスケジューラと組み合わせて、無人でのバックアップジョブ実行が可能。スケジュール設定も簡潔。
- 大規模ファイル移行を控えている組織:テラバイト単位のデータをクラウド間で転送する際、GUI操作より圧倒的に効率的。帯域幅制限で本番環境への影響も回避。
- オンプレミス・クラウド間のハイブリッド環境:ローカルディスクとクラウドストレージの同期に対応。マウント機能でアプリケーションから透過的にアクセス可能。
関連ツール
データ収集・転送を自動化した後は、ワークフロー全体のオーケストレーションにも目を向けると運用効率がさらに向上する。KestraはYAML駆動のワークフローオーケストレーションツールで、Rcloneをタスクとして組み込んだデータパイプラインの構築に適している。また、複数クラウドに蓄積したドキュメントをAIで検索・活用するには、RAGFlowのような検索拡張生成(RAG)プラットフォームとの連携が有効だ。LangChainを使ったRAGの実装についてはLangChainを使ったRAGの構築方法も参照されたい。
関連記事: RAGとは?仕組み・構築・ベクトルDB選定までの2026年実装マップ