実用的なRclone:クラウドバックアップの同期、暗号化、自動化

  • Rclone は、単一の構文と構成可能なリモートを使用して、数十のクラウド サービスへのアクセスを統合します。
  • ローカルとクラウド間、さらには異なるクラウド間でもデータをコピー、同期、マウント、暗号化できます。
  • VFS キャッシュ オプション、フィルター、パフォーマンスにより、大量のファイルを処理できるようになります。
  • cron、systemd、スクリプトとうまく統合され、本格的なバックアップの強固な基盤となります。

rcloneクラウドストレージガイド

Rclone となった クラウドストレージのための最も包括的なツールの1つ数十もの異なるサービスと通信し、それらの間でデータをコピーし、クラウドサービスをローカルドライブのようにマウントできる、たった一つのコマンドラインツールです。しかも、これらすべてを暗号化と高度な自動化機能で実行できます。サーバーを管理したり、複数のクラウドサービスを利用したり、あるいは単に堅牢なバックアップを確保したい場合、rcloneはあなたの仕事のやり方を変えるようなユーティリティです。

En このガイド 主要システムに rclone をインストールする方法、Google Drive、OneDrive、S3、B2 などのサービスのリモートを構成する方法、rsync との違いを理解する方法、FUSE を使用してクラウドを設定する方法、データを暗号化する方法、cron または systemd を使用してバックアップを自動化する方法、一般的なパフォーマンス、認証、または API 制限の問題を解決する方法を学習します。

rclone とは何ですか? rsync とどう違うのですか?

Rcloneは クラウドストレージ内のファイルを管理するために設計されたオープンソースのコマンドラインプログラムGoogle ドライブ、Google フォト、OneDrive (個人用、ビジネス用、SharePoint)、Dropbox、Box、MEGA、pCloud、Proton Drive、S3 サービス (AWS、Wasabi、Cloudflare R2、Backblaze B2 など)、Google Cloud Storage、Azure Blob、WebDAV (Nextcloud、ownCloud)、SFTP/FTP、SMB/CIFS、HTTP など、70 を超えるプロバイダーをサポートしています。

概念レベルでは、rclone rsync のアイデアをクラウドの世界に拡張します。 ディレクトリの同期、データのコピー、単方向または双方向のミラーリングを実行するだけでなく、クラウドAPI、再試行、帯域幅制限、キャッシュ、バックエンド固有のメタデータも理解します。rsyncがローカルパスまたはSSHに重点を置いているのに対し、rcloneは各プロバイダーのAPIの言語に対応しています。

重要な実質的な違いは焦点です。Rsyncはローカル環境やSSH環境でうまく機能しますが、 rcloneはクラウド向けに最適化されていますサーバー側のコピー (マシンを経由せずにバケット間で直接コピーする) をいつ活用するか、非常に大きなファイルをチャンクに分割する方法、Content-Type、権限、バージョンなどのメタデータをどのように処理するかを認識します。

のようなオプションを使用すると、 --multi-thread-streams または並行移転、 rcloneはrsyncの4倍以上のパフォーマンスを簡単に達成できる ネットワーク経由でコピーする場合。特に、チャンクアップロードをサポートするバックエンド(S3、GCS、B2など)では顕著です。また、透過的な暗号化、FUSEマウント、マルチリモートジャンクションレイヤー、そして統合された小型のHTTP/WebDAV/FTPサーバーも備えています。

Rclone マルチクラウド管理

rcloneの互換性のあるサービスと内部アーキテクチャ

El サプライヤーサポート これはrcloneの強みの一つです。実際には、必要な数の「リモート」を定義できます。各リモートは接続を記述します(例: gdrive: 個人用Googleドライブの場合、 onedrive: OneDrive for Businessの場合、 s3-backup: S3バケットの場合、 nextcloud: WebDAV など経由)。

エンドユーザーにとって、rclone は最も一般的なクラウド サービスを簡単にカバーします。Googleドライブ/フォト、OneDrive(SharePointを含む)、Dropbox、Box、MEGA、pCloud、Proton Driveなどのプライバシー重視のサービス。これにより、これまで複数のアプリや公式クライアントを必要としていたタスクを、1つのコマンドに集約できます。

エンタープライズおよび開発環境では、rclone が S3 の世界全体および同様のシステムを支配しています。Amazon S3 Standard、Google Cloud Storage、Azure Blob Storage、Backblaze B2、Wasabi、Cloudflare R2、そして多数の互換性のあるプロバイダー(MinIO、Cephなど)です。これらはすべて、リモートを変更するだけで、同じ基本構文で管理できます。

に対する 自己ホスト型プロトコルとシステムrcloneはSFTP、FTP、WebDAV、SMB/CIFS、さらにはHTTPをサポートしています。つまり、SFTPサーバーからS3バケットへのコピー、Nextcloudからローカルフォルダへのデータ転送、Webサーバーからの一括ダウンロードなど、追加ツールを必要とせずに実行できます。

rclone は内部的に複数のレイヤーで構成されています。操作をオーケストレーションするコア(Rclone Core)、キャッシュマウントで使用される VFS レイヤー、オンザフライで暗号化/復号化する Crypt レイヤー、そしてバックエンドで必要な大容量ファイルをチャンク化する Chunker レイヤーです。これらすべての基盤となるのは、各ベンダーの仕様を隠蔽する共通のバックエンド抽象化です。

Windows、Linux、macOS でのシステム要件とインストール

rcloneは非常に軽量ですが、基本的な要件を理解することが重要です。512MBのRAMで動作しますが、高負荷な使用(キャッシュを使用したマウント、多数の同時転送)の場合は2GB以上が推奨されます。CPUに関しては、1つのvCPUで十分ですが、並列転送を活用するにはコアが複数ある方が便利です。ディスクについては、起動時に100MBの空き容量がありますが、VFSキャッシュを使用する場合は少なくとも1GBの空き容量を確保することをお勧めします。

Linuxでは、最新のカーネル(理想的にはFUSE3を搭載した5.4以上)が推奨されます。特にリモートをファイルシステムとしてマウントする場合は注意が必要です。ディストリビューションに関しては、curl または wget と sudo 権限があれば、rclone はほぼすべての現行フレーバー(Ubuntu、Debian、Fedora など)で動作します。

Windowsでの詳細なインストール

Windowsではrcloneをインストールするには主に3つの方法があります最も制御されたものから最も自動化されたものまで。重要なのは、最終的に rclone.exe 任意のコンソール (CMD または PowerShell) からアクセスできます。

A) 公式サイトからマニュアルをダウンロードする (何をインストールするのか明確にしたい場合に推奨):

  1. アーキテクチャに応じた ZIP ファイルをダウンロードします。: 例えば rclone-v1.xx.x-windows-amd64.zip 64ビットの場合。
  2. ファイルを固定フォルダに解凍します例えば C:\rcloneどこに残るか rclone.exe およびいくつかのテキスト ファイル。
  3. 追加する C:\rclone システムPATHへ (コントロールパネル→システム→詳細設定→環境変数→PATHの編集→新規→ C:\rclone).

B) Windows 10/11へのWingetによるインストールすでに Microsoft パッケージ マネージャーを使用している場合に最適です。

  1. rcloneをインストールします。 winget install Rclone.Rclone
  2. 必要に応じてアンインストールします。 winget uninstall Rclone.Rclone --force

C) 自動化システムソフトウェアをお持ちの方向けのChocolatey:

  1. rcloneをインストールします。 choco install rclone
  2. ドライブをマウントする場合は、WinFsp もインストールします。 choco install winfsp

Ubuntu/Debianおよびその他のLinuxシステムへのインストール

Linuxでは、最も簡単で常に最新の方法は公式スクリプトです。最新の安定バージョン (またはベータ版) を 1 つのコマンドでダウンロードしてインストールします。

  • 安定バージョン: sudo -v ; curl https://rclone.org/install.sh | sudo bash
  • ベータ版: sudo -v ; curl https://rclone.org/install.sh | sudo bash -s beta

絶対的な制御を希望する場合は、パッケージをダウンロードしてください .deb コンクリート そしてそれを管理する dpkg:

  • ダウンロード: wget https://downloads.rclone.org/v1.xx.x/rclone-v1.xx.x-linux-amd64.deb 
  • インストール: sudo dpkg -i rclone-v1.xx.x-linux-amd64.deb
  • 依存関係が不足している場合: sudo apt -f install

FUSEアセンブリでは、インストールすることが重要です。 fuse3 そして許可する allow_other en /etc/fuse.conf対応する行のコメントを解除します。その後は、再起動またはサービスの再読み込みで十分です。

macOS へのインストール

macOSではHomebrewを使うと生活がずっと楽になるいくつかのコマンドを実行するだけで、rclone が使用できるようになります。

  • Brewでインストール: brew install rclone
  • 定期的に更新する brew upgrade rclone 

Homebrew に依存したくない場合は、手動インストールを選択できます。 macOSのZIPファイルをダウンロードし、解凍してバイナリを移動します。 /usr/local/bin Linuxの場合と同じです。その後の使い方は同じです。 rclone version すべてが正常であることを確認します。

rcloneによるアセンブリと暗号化

最初のステップ:基本的な設定と「リモート」の概念

rcloneの核心は 構成ファイルリモートを定義する場所です。デフォルトでは、 ~/.config/rclone/rclone.conf (Linux/macOS) または、 %APPDATA% Windowsでは対話型ウィザードで管理されます rclone config.

各リモートは接続パラメータをグループ化するINIセクションです: バックエンドの種類、認証情報、地域、特別なオプションなど。Googleドライブの典型的な例は次のようになります。 [gdrive] そのと type = drive, scope = drive OAuth トークンは JSON に保存されます。

ウィザードを開始するには、 ターミナルを開いて実行 rclone configいくつかのオプションを含むメニューが表示されます。新しいリモコンの作成、既存のリモコンの編集、削除、名前の変更、設定の暗号化などです。通常は、最初に n 「新しいリモコン」用。

Googleドライブの場合典型的なリモート作成フローは、いくつかのステップから構成されます。「ドライブ」タイプの選択、独自のクライアントIDを使用するかどうかの決定(Googleの厳しい制限を回避するために推奨)、スコープの選択(drive ドライブが完全、読み取り専用など、さまざまな権限を持っている場合は、ブラウザで自動認証を使用し、必要に応じて共有ドライブであるかどうかを示します。

にいる場合 ブラウザなしのサーバー(SSH、VPS、GUIなしのコンテナ)、 rcloneは他のマシンからの認証を許可します。ウィザードで「自動設定を使用しますか?」と尋ねられたら「いいえ」と答えると、rcloneはコマンドを表示します。 rclone authorize "drive" これをブラウザを使用して PC 上で実行し、結果のトークンをコピーして、対応するフィールドにサーバーに貼り付ける必要があります。

基本構文、リモートルート、基本コマンド

rcloneの一般的な構文は 非常に一貫性があり、覚えやすい: rclone [opciones] subcomando origen [destino]サブコマンドは copy, sync, ls, mount, move出発地と目的地は、スタイルのローカルまたはリモートルートです remote:path/to/dir.

ルート /path/to/dir ローカルファイルシステムを指すつつ remote:path/to/dir これは設定で定義されたリモート内のディレクトリを指します。ほとんどのバックエンドでは、 remote:/path/to/dir これは、FTP、SFTP、Dropbox Businessなどの特殊なケースを除いて、同じことと同じです。 / 意味が変わります (ルート ディレクトリとホーム)。

最初に最も役立つリストコマンドは次のとおりです。 ls, lsl, lsd y treeたとえば、サイズの Google ドライブ フォルダ内のファイルを表示するには、次のようにします。 rclone ls gdrive:Documentosディレクトリのみを一覧表示するには: rclone lsd gdrive:より視覚的なツリーが必要な場合: rclone tree gdrive:Proyectos --level 3.

ファイルのコピーは簡単です rclone copy origen destino。実例:

  • ローカル → クラウド: rclone copy C:\Users\usuario\Documents onedrive:backup/documents -P
  • クラウド → ローカル: rclone copy onedrive:photos C:\Users\usuario\Pictures -P
  • クラウド → クラウド (可能な場合はサーバー側): rclone copy gdrive:data onedrive:backup -P

サブコマンド sync 目的地を出発地と同一にする起源においてもはや存在しないものを運命から消し去る。使い方を誤ると非常に危険なので、最初は必ず…を伴っていなければならない。 --dry-run そして、もしご希望であれば、 --interactive 破壊的な操作を行う前に確認を要求する。

双方向同期には rclone bisyncまだ実験段階である両側の変更を追跡して整合性を保つため、特定のオフライン作業シナリオでは便利ですが、デジタルライフに委ねる前に、重要でないデータで徹底的にテストすることをお勧めします。

ラクローン

FUSEとVFSキャッシュを使用してクラウドドライブをローカルドライブとしてマウントする

rcloneの目玉機能の一つは リモコンをハードドライブのようにマウントする機能これにより、ファイル エクスプローラーからクラウドを参照したり、ドキュメントを直接編集したり、背後にクラウドがあることを知らされずにアプリケーション (メディア インデクサー、エディターなど) をリモート パスにポイントしたりできるようになります。

Windows では、ドライブ文字を割り当てるか、ネットワーク ドライブを作成することによってマウントが行われます。。 例えば、

  • OneDrive をドライブ X としてマウントします。 rclone mount onedrive: X: --vfs-cache-mode full
  • ネットワークドライブとしてマウント: rclone mount onedrive: X: --network-mode --vfs-cache-mode full

Linux および macOS では、ファイル システムでマウント ポイントが使用されます。通常はFUSEを使用します。

  • ディレクトリを作成: mkdir -p ~/OneDrive
  • バックグラウンドでマウント(デーモン): rclone mount onedrive: ~/OneDrive --vfs-cache-mode full --daemon

ここで重要なパラメータは --vfs-cache-modeキャッシュの動作を制御する:

  • off: キャッシュなし、読み取りパフォーマンスは最大になりますが、一部のアプリはこれではうまく動作しません。
  • minimal: 基本的な書き込み機能が動作するために必要な最小キャッシュ。
  • writes: 書き込みをキャッシュして後でアップロードします。ファイルを編集するが、積極的なキャッシュ読み取りは必要ない場合に便利です。
  • full: 完全な読み取りおよび書き込みキャッシュ。実際のディスク (マルチメディア、IDE など) であるかのように使用されるマウントに推奨されます。

ストリーミングサービスやメディアカタログ(Plex、Jellyfinなど)では、通常、 --vfs-cache-mode full 適切なキャッシュサイズ (--vfs-cache-max-size, --buffer-size)と十分な保持時間(--vfs-cache-max-age, --dir-cache-time) なので、サーバーが常にリストを生成する必要はありません。

グラフィカルインターフェース: Rclone Web GUI、Rclone UI、RcloneBrowser

rcloneは純粋なCLIツールとして誕生しましたが、今日では グラフィカルインターフェースでそれを使用する方法はいくつかありますこれは、ターミナルに慣れていない人にタスクを委任する場合や、転送をより視覚的に表示したい場合に最適です。

ツール自体には実験的な Web GUI が含まれています。、次のように起動します。

  • rclone rcd --rc-web-gui --rc-user=admin --rc-pass=password
  • 次にブラウザで http://localhost:5572 そのユーザー名とパスワードでログインします。

さらに、 非常に洗練されたサードパーティ製のGUIがある最も包括的な選択肢の一つは、Windows、macOS、Linux用のデスクトップアプリであるRclone UIです。ドラッグ&ドロップ、タスクスケジューリング、複数の同時転送、そして視覚的なプログレスバーをサポートしています。もう一つの長年の代替手段はRclone Browserです。LinuxではAppImage版も利用可能で、時折のバックアップ管理のみを必要とする多くのユーザーにとって十分な機能を備えています。

コンソールで生活しているけれど、モバイルで面倒なことはしたくないという人なら、 Androidにはrcloneを統合したアプリもいくつかある多くはファイルを直接再利用している rclone.conf PCで生成した設定ファイルをアプリが示すパスにコピーするだけで、モバイルデバイスでもリモート操作が可能になります。

ラクローン

暗号化と構成セキュリティを備えた透過的な暗号化

rcloneの大きな魅力の一つは データがマシンから送信される前に暗号化できるようにする。 バックエンド crypt これは別のリモート レイヤーの上のレイヤーとして機能します。通常のファイル名は表示されますが、暗号化された名前とコンテンツはクラウドに保存されます。

リモート暗号化の典型的な構成は、 新しいリモコンタイプを作成する crypt そして、別のリモートからのルートを指定します。例: remote = gdrive:encryptedさらに、名前の暗号化モード (標準、難読化、またはオフ) を選択し、パスワード (およびオプションで暗号化を強化するための 2 番目の「ソルト」) を定義します。

一度作成すると、 リモート暗号化による操作は完全に透過的もしそうなら rclone copy /datos/sensibles gdrive-crypt:Googleドライブでは、見慣れない名前と判読できないコンテンツしか表示されません。しかし、暗号化されたリモートからは、パスとファイルがそのまま表示されます。

rclone設定ファイルは機密性の高い認証情報が含まれている場合、保護する必要があります。rclone自体でそのファイルを暗号化することができます。 rclone config 設定パスワードを設定するオプションを選択し、キーを入力すると、その後、プログラムはそのパスワードを入力して読み取ります。 rclone.conf.

自動化された環境では、環境変数を使用してパスワードを入力できます。RCLONE_CONFIG_PASS またはで --password-commandこれにより、スクリプト、cron、または systemd サービスは、手動による介入なしに rclone を使用できるようになりますが、パスワードはプレーンテキストで表示されるままになりません。

バックアップとスケジュールされたタスクの自動化

rclone が真価を発揮するのは、定期的なバックアップとスケジュールされた同期です。各システムのネイティブ スケジューラ (Windows のタスク スケジューラ、Linux の cron、systemd タイマー) と、通知や古いバージョンのクリーンアップを含むカスタム スクリプトの両方を使用できます。

Windows では、タスク スケジューラを使用すると、特定のパラメータを使用して特定の時間に rclone を起動できます。例えば、重要なフォルダを毎晩OneDriveと同期する場合、出力をログファイルにダンプし、タスクが失敗した場合に再試行を有効にすることができます。

Linux では、小さなバックアップ スクリプトを用意して、それを cron にフックするのが最も一般的な方法です。。 たとえば、 rclone sync /datos/ gdrive-crypt:backups/ 毎日2:00に --log-file, --fast-list 一時ファイルや大きなログを除外するフィルターもあります。

さらに一歩進めたい場合は、 rclone と systemd を組み合わせて、起動時にリモートをマウントしたり、バックアップ スクリプトをサービスやタイマーとして起動したりします。これにより、可視性が大幅に向上します (ログがジャーナルに統合され、ネットワーク依存関係が制御され、失敗した場合に自動的に再起動されるなど)。また、最新のシステムでは通常、cron よりも適しています。

素晴らしいのは、rcloneが本格的なバックアップ用に設計されたフラグを提供していることです: --backup-dir y --suffix 古いバージョンを履歴フォルダに送信するには、 --checksum バックエンドがハッシュをサポートしている場合、ハッシュと比較する --max-transfer y --bwlimit 帯域幅の飽和や1日の割り当て超過を避けるため、または --track-renames 削除して再アップロードする代わりに、名前が変更されたファイルを検出します。

パフォーマンスの最適化、高度なフィルター、トラブルシューティング

数ギガバイトまたは数百万のファイルを移動し始めると、詳細が大きな違いを生みます。Rclone は、さまざまなパフォーマンス オプションを公開します。 --transfers 平行上昇/下降の数を調整するには、 --checkers 小切手については、 --multi-thread-streams y --multi-thread-cutoff 大きなファイルのマルチスレッドアップロードの場合、 --buffer-size RAM 内のバッファのサイズなどを定義します。

小さなファイルが多数含まれるコレクションの場合は、通常、 --transfers y --checkers、そして追加する --fast-list 効率的な再帰リストをサポートするバックエンド。 はい、確かに --fast-list rclone はリスト全体を事前に保存するため、より多くのメモリを消費します。そのため、RAM が限られているマシンでは、メモリを測定して過剰に使用しないようにすることをお勧めします。

帯域幅制限は次のように制御されます。 --bwlimit時刻表もサポートそんな感じ --bwlimit "08:00,1M 18:00,off" 営業時間中はスムーズな操作が可能になり、夜間は高速通信が可能になります。このオプションを使用すると、バックアップによるオフィス全体のインターネット接続のダウンを防ぐことができます。

フィルターはもう一つの基本的な柱です。 --include, --exclude, --filter-from, --min-size, --max-ageなど、何をコピーし、何をコピーしないかを正確に指定できます。適切に設計されたフィルタファイルは、不要な転送時間を節約します(たとえば、 node_modules, .git、キャッシュ、巨大な丸太など)。

よくある問題としては、Google ドライブや類似のサービスで認証エラーや API 制限が発生することがほとんどです。このような場合は、リモコンを再度接続することをお勧めします。 rclone config reconnectGoogle コンソールで独自のクライアント ID を使用し、並列処理と TPS を削減することを検討してください (--tpslimit) レート制限に達した場合。

本当に問題が発生した場合、rclone のデバッグ モードとヘッダー ダンプが非常に役立ちます。: コマンドを起動します -vv --dump headers O incluso --dump bodies (非常に冗長なので注意が必要です)バックエンドが何を返しているのか、そしてその理由が明らかになることが多いです。バグが疑われる場合は、スクリーンショットを撮ってください。 -vv プロジェクトの GitHub リポジトリで問題を開くのが、サポートを受ける最も早い方法です。

上記のすべてにより、rclone は日常的にクラウド ストレージを利用するすべての人にとって中心的な存在になります。複数のプロバイダーに暗号化されたバックアップを作成したり、メディア サーバーに Google Drive を設定したり、S3 バケット間でデータを移行したり、データベースのバックアップを自動化したり、Raspberry Pi のハード ドライブがいっぱいにならないようにしたりする場合でも、構文とリモート アクセスに慣れると、「rclone を使えば間違いなくできる」と思ったときに常に頼りになるツールになります。