概要
Rcloneは、Google Drive・Dropbox・AWS S3・OneDrive・Azure Blob Storageなど、50を超えるクラウドストレージサービスに対応したコマンドラインツール。異なるプラットフォーム間でのファイル同期・転送・削除をUnix/Linux/Windows/macOS上で統一されたコマンドで実行できる。2013年から開発が続き、GitHubで56000以上のスターを獲得している。
主な機能
- マルチクラウド対応:Google Drive、Dropbox、S3、Azure、OneDrive、Mega、Seafile、Backblazeなど50以上のストレージに対応し、1つのツールで統一管理
- 双方向同期:2つのストレージ間でファイルを同期し、削除や更新を自動追跡。–bisync フラグで双方向同期を実行
- フィルタリング機能:ファイルサイズ、拡張子、更新日時などの条件指定で転送対象を制限。–min-size や –exclude パターンで精密な制御が可能
- 帯域幅制限:–bwlimit で転送速度を制御し、ネットワークへの負荷を調整。スケジュール指定も対応
- チェックサム検証:転送後のファイル整合性を自動確認し、破損防止。ハッシュアルゴリズム複数対応
- マウント機能:クラウドストレージをローカルファイルシステムとしてマウント(rclone mount)。ローカルアプリから直接アクセス可能
- バッチ処理対応:スクリプトやcron、タスクスケジューラと組み合わせて定期実行。大規模なファイル移行を無人で完結
技術スタック
- 言語: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
競合との違い
vs gsutil/aws-cli:Google CloudやAWSの純正ツールは該当クラウド専用。Rcloneは複数ストレージに対応し、ストレージ間の直接転送(クライアント経由ではなく、サーバー間転送)をサポート。学習コスト も1つのコマンド体系で済む。
vs CloudBerry、MSP360:商用クラウドバックアップツールと異なり、Rcloneはオープンソース無料。GUIがなく機能は限定的だが、スクリプト化・自動化の自由度が高く、カスタマイズ性に優れている。
vs rsync:rsyncはローカルやSSH経由のファイル同期専門。Rcloneはクラウド認証・API経由の転送を前提設計。帯域幅制限やチェックサムもクラウド環境向けに最適化。
こんな人におすすめ
- 複数ストレージ運用中のエンジニア:異なるクラウドサービス間でのデータ移行・同期が頻繁。1つのコマンドで統一管理できるメリットが大きい。
- 定期バックアップを自動化したい人:cronやタスクスケジューラと組み合わせて、無人でのバックアップジョブ実行が可能。スケジュール設定も簡潔。
- 大規模ファイル移行を控えている組織:テラバイト単位のデータをクラウド間で転送する際、GUI操作より圧倒的に効率的。帯域幅制限で本番環境への影響も回避。
- オンプレミス・クラウド間のハイブリッド環境:ローカルディスクとクラウドストレージの同期に対応。マウント機能でアプリケーションから透過的にアクセス可能。
FAQ
[{“q”: “Rcloneはどのクラウドストレージに対応していますか?”, “a”: “Google Drive、Dropbox、AWS S3、Azure Blob Storage、OneDrive、Backblaze B2、Mega、Seafile、pCloud、DigitalOceanなど50以上のサービスに対応。完全なリストは公式ドキュメント参照。”}, {“q”: “Rcloneはファイルのダウンロードなしに、クラウド間で直接転送できますか?”, “a”: “対応サービスであればサーバー間転送が可能。S3やBackblazeなどAPIが充実したサービス間では、ローカルを経由しない直接転送で高速化。”}, {“q”: “Rcloneでクラウドストレージをマウントして使用する場合、パフォーマンスはどうですか?”, “a”: “rclone mount でローカルマウント可能だが、ネットワークレイテンシーのためローカルディスク並みの速度は期待できない。対話的操作より、バッチ処理向き。”}, {“q”: “Rcloneの設定情報はどこに保存されますか?”, “a”: “Linux/macOSでは ~/.config/rclone/rclone.conf、Windowsでは %AppData%\rclone\rclone.conf に保存。認証トークンも含まれるため、ファイル権限管理が重要。”}, {“q”: “Rcloneで転送中に接続が切れた場合、リトライは自動で行われますか?”, “a”: “デフォルトでリトライ機能があり、–retries フラグで回数を指定。失敗ファイルを記録して後で再転送することも可能。”}]