メインコンテンツまでスキップ

軽量なクラウド同期のために DietPi に RcloneView をインストールして使う

· 約16分
Tayson
Senior Engineer

DietPi 上で動作する RcloneView を使えば、Raspberry Pi や任意のシングルボードコンピュータを、強力で常時稼働のクラウド同期ステーションに変えられます。

DietPi は、Raspberry Pi、Odroid、NanoPi など、多くのシングルボードコンピュータ (SBC) 向けに特化して設計された、超軽量な Debian ベースの OS です。ディスク使用量はわずか 400 MB から、アイドル時の RAM 使用量は 100 MB 未満というミニマルなフットプリントを持ち、DietPi は常時稼働のクラウド同期ソリューションを実行するのに理想的なプラットフォームです。DietPi と RcloneView を組み合わせることで、rclone のパワーを備えたフル機能のクラウドファイル管理 GUI を、食事一回分よりも安く、消費電力5ワット未満のハードウェア上で動かすことができます。このガイドでは、DietPi のインストールから、24時間体制で動作する自動バックアップのスケジューリングまで、すべてのステップを解説します。

RcloneViewアプリのプレビュー

すべてのクラウドを一か所で管理・同期

RcloneViewはrcloneのクロスプラットフォームGUIです。フォルダを比較し、ファイルを転送・同期し、クリーンなビジュアルインターフェースでマルチクラウドのワークフローを自動化できます。

  • ワンクリック操作: コピー · 同期 · 比較
  • 信頼性の高い自動化のためのスケジューラーと履歴
  • Google Drive、OneDrive、Dropbox、S3、WebDAV、SFTPなどに対応
WindowsmacOSLinux
無料で始める →

コア機能は無料。Plusで自動化機能を利用可能。

なぜクラウド同期に DietPi なのか?

DietPi は、標準の Raspberry Pi OS や他の Linux ディストリビューションといくつかの重要な点で異なり、専用のクラウド同期タスクに理想的です。

最小限のリソース使用量。 DietPi は不要なサービス、デスクトップ環境、バックグラウンドプロセスを排除しています。新規インストールした DietPi は約 50〜80 MB の RAM しか使用せず、SBC のリソースの大部分を rclone の転送やファイル操作に使うことができます。

最適化されたソフトウェアカタログ。 dietpi-software ツールは、初期状態から適切な設定で最適化されたソフトウェアパッケージの厳選リストを提供します。つまり、依存関係のトラブルシューティングに費やす時間を減らし、クラウドストレージの管理に多くの時間を割けます。

ヘッドレスファーストの設計。 DietPi は最初からヘッドレスで動作するように作られています。すべてを SSH 経由で管理できるため、クローゼットの中やテレビの裏に設置する専用同期アプライアンスにまさに必要な仕様です。

幅広い SBC サポート。 DietPi は、Raspberry Pi (Zero から 5 までの全モデル)、Odroid (C4、N2+、XU4)、NanoPi、Pine64、さらには仮想マシンを含む、30種類以上の SBC モデルをサポートしています。クラウド同期のセットアップはハードウェア間で移植可能です。

自動アップデート。 DietPi は独自のアップデート機構でシステムの更新を処理するため、手動での操作なしに同期ステーションを安全に保てます。

前提条件とハードウェアの推奨事項

インストールを始める前に、以下を用意してください。

ハードウェア要件:

  • サポートされている SBC (最良のパフォーマンスのために Raspberry Pi 3B+ 以降を推奨)
  • MicroSD カード (最低 16 GB、推奨 32 GB)、または I/O 性能向上のための USB SSD
  • 安定した同期のための有線 (Ethernet) 接続、または WiFi アダプター
  • 使用する SBC に適した電源 (Raspberry Pi 4/5 の場合は 5V 3A)

ソフトウェア要件:

  • 使用する SBC 用に dietpi.com からダウンロードした DietPi イメージ
  • balenaEtcher や Raspberry Pi Imager などのイメージ書き込みツール
  • SSH クライアント (macOS/Linux のターミナルには標準搭載、Windows では PuTTY など)

SBC モデル別のパフォーマンスの考慮事項:

SBC モデルRAM推奨用途
Raspberry Pi Zero 2W512 MB軽い同期、単一リモート
Raspberry Pi 3B+1 GB中程度の同期、2〜3個のリモート
Raspberry Pi 4/52〜8 GB大規模な同期、複数リモート、マウント
Odroid N2+4 GB高スループット転送
NanoPi R5S4 GBネットワーク接続型の同期アプライアンス

DietPi と Rclone のインストール

まず、SD カードまたは SSD に DietPi を書き込み、SBC を起動して SSH で接続します。

ステップ1: DietPi を書き込んで起動する。

使用するハードウェア向けの DietPi イメージをダウンロードし、balenaEtcher で書き込み、メディアを SBC に挿入して電源を入れます。DietPi は初回起動時に自動的に初期セットアップを行います。

ステップ2: SSH で接続する。

ssh root@<your-sbc-ip>
# Default password: dietpi

初回ログイン時、DietPi はパスワード変更、タイムゾーン設定、ソフトウェア選択などの初期設定を案内します。

ステップ3: dietpi-software で rclone をインストールする。

DietPi は最適化されたソフトウェアカタログに rclone を含んでいます。

dietpi-software install 80

ソフトウェア ID 80 が rclone です。これにより、お使いのアーキテクチャ向けに適切に設定・最適化された rclone のビルドがインストールされます。

代わりに、最新の rclone を手動でインストールすることもできます。

curl https://rclone.org/install.sh | sudo bash

ステップ4: インストールを確認する。

rclone version

これにより、rclone がインストールされたことを確認でき、バージョン番号とサポートされているバックエンドが表示されます。

外部 rclone を使った RcloneView のセットアップ

SBC 上の DietPi インストールはヘッドレスで動作することが多いため、RcloneView は外部 rclone モードで使用します。これにより、デスクトップマシン上で動作する RcloneView から、DietPi デバイス上の rclone インスタンスに接続して制御できます。

external rclone model

ステップ1: DietPi 上で rclone のリモートコントロールデーモンを起動する。

DietPi デバイス上で、RC (リモートコントロール) インターフェースを有効にして rclone を起動します。

rclone rcd --rc-addr :5572 --rc-user admin --rc-pass yourpassword --rc-serve

永続的なセットアップのために、systemd サービスを作成します。

sudo cat > /etc/systemd/system/rclone-rc.service << 'EOF'
[Unit]
Description=Rclone Remote Control Daemon
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=dietpi
ExecStart=/usr/bin/rclone rcd --rc-addr :5572 --rc-user admin --rc-pass yourpassword --rc-serve
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl enable rclone-rc
sudo systemctl start rclone-rc

ステップ2: RcloneView を DietPi の rclone インスタンスに接続する。

デスクトップマシンで RcloneView を開き、外部 rclone モードに切り替えます。DietPi デバイスの IP アドレス、ポート 5572、および設定した認証情報を入力します。

embedded rclone model

これで RcloneView は、DietPi デバイス上で動作している rclone インスタンスを制御します。すべてのファイル操作、転送、マウントは SBC 自体で実行されます。

DietPi でクラウドリモートを追加する

RcloneView が DietPi の rclone インスタンスに接続されている状態で、GUI からクラウドストレージのリモートを追加できます。

Open multiple cloud remotes in RcloneView

OAuth ベースのプロバイダー (Google Drive、Dropbox、OneDrive) の場合:

DietPi は通常、ブラウザなしのヘッドレス環境で動作するため、ブラウザを備えたマシンで OAuth トークンを認可してから、設定を転送する必要があります。RcloneView はこのプロセスを簡略化します。

  1. RcloneView でリモート設定ダイアログを開きます。
  2. クラウドプロバイダー (例: Google Drive) を選択します。
  3. RcloneView がデスクトップのブラウザを通じて OAuth フローを処理します。
  4. 得られたトークンは DietPi デバイス上の rclone 設定に保存されます。

S3 互換プロバイダー (AWS S3、Wasabi、Backblaze B2、MinIO) の場合:

S3 リモートはアクセスキーのみが必要なため、ヘッドレス環境でもスムーズに動作します。

  1. RcloneView で「New Remote (新しいリモート)」をクリックします。
  2. S3 互換プロバイダーを選択します。
  3. アクセスキー ID、シークレットアクセスキー、リージョン、エンドポイントを入力します。
  4. 接続をテストして保存します。

SFTP/WebDAV リモートの場合:

これらは、DietPi デバイスとローカルネットワーク上の他のサーバーとの間で同期する場合に特に便利です。

  1. RcloneView で SFTP または WebDAV リモートを追加します。
  2. ホスト、ユーザー名、認証情報を入力します。
  3. 保存してリモートストレージを参照します。

自動バックアップのスケジューリング

DietPi デバイス上で RcloneView を実行する最大の利点の一つは、最小限の電力で24時間365日動作する自動バックアップスケジュールを作成できることです。

RcloneView での同期ジョブの作成:

まず、何をどこに同期するかを定義する同期ジョブを設定します。

  1. RcloneView の2ペインエクスプローラーを開きます。
  2. ソースとデスティネーションのリモートを選択します。
  3. 同期オプション (一方向同期、双方向同期、またはコピー) を設定します。
  4. 設定を名前付きジョブとして保存します。
create job schedule

スケジュールの設定:

RcloneView のジョブスケジューリング機能により、同期ジョブをいつ、どのくらいの頻度で実行するかを定義できます。

  • 日次バックアップ: ネットワークトラフィックが少ない午前2時に、重要なディレクトリの夜間同期をスケジュールします。
  • 1時間ごとの差分同期: 重要なデータについては、1時間ごとに差分同期を実行します。rclone の差分検出により、変更されたファイルのみが転送されます。
  • 週次のフル比較: --resync 付きの週次 bisync をスケジュールして、あらゆる不整合を検出します。

フォールバックとしての cron の利用:

システムレベルのスケジューリングを好む場合は、DietPi 上で cron を直接使用することもできます。

crontab -e

以下のようなエントリを追加します。

# Daily backup at 2 AM
0 2 * * * rclone sync /mnt/data remote:backup --log-file /var/log/rclone-backup.log

# Hourly sync of critical documents
0 * * * * rclone copy /home/dietpi/documents remote:documents --max-age 1h

低消費電力デバイスのためのリソース最適化

SBC 上で rclone を実行するには、リソース使用量への配慮が必要です。以下が重要な最適化ポイントです。

メモリ管理:

# Limit rclone's memory usage with transfer settings
rclone sync source: dest: \
--transfers 2 \
--checkers 4 \
--buffer-size 16M \
--drive-chunk-size 32M

1 GB RAM の Raspberry Pi では、これらの設定によって rclone がメモリを消費しすぎるのを防げます。4 GB 以上の RAM を搭載したデバイスでは、より高い値を使用できます。

I/O の最適化:

MicroSD カードは書き込み耐久性と速度に制限があります。以下の戦略を検討してください。

  • USB SSD を使用する ローカルストレージや rclone のキャッシュとして使用します。転送速度が大幅に向上し、ストレージの寿命も延びます。
  • rclone の VFS キャッシュを控えめに有効にする。 --vfs-cache-max-size を設定してディスク使用量を制限します。
  • tmpfs にログを出力する ことで、不要な SD カードへの書き込みを避けます。
mkdir -p /tmp/rclone-logs
rclone sync source: dest: --log-file /tmp/rclone-logs/sync.log

ネットワークの最適化:

# Limit bandwidth during peak hours
rclone sync source: dest: --bwlimit "08:00,512k 23:00,off"

これにより、日中の帯域幅は 512 KB/s に制限され、夜間はその制限が解除されます。

リソース使用状況の監視:

DietPi 標準搭載の監視ツールを使って、同期ステーションの状態を把握しましょう。

# Check memory usage
dietpi-process_tool

# Monitor disk I/O
iotop -o

# View rclone transfer stats
rclone rc core/stats
transfer monitoring

監視とトラブルシューティング

転送のリモート監視:

RC デーモンが動作していれば、ネットワーク上の任意のマシンから RcloneView で転送状況を監視できます。リアルタイム転送監視ダッシュボードでは、以下が確認できます。

  • 進捗率付きのアクティブな転送
  • 転送速度と完了予想時刻
  • エラー数と再試行の状況
  • 帯域幅の利用状況

DietPi 特有のよくある問題:

問題解決策
OAuth トークンの期限切れデスクトップから RcloneView の OAuth フローで再認可する
SD カードの I/O エラーUSB SSD に切り替えるか、書き込み操作を減らす
大規模な同期中のメモリ不足--transfers--buffer-size を減らす
長時間の転送中のネットワーク切断--retries 10 --low-level-retries 20 を有効にする
Pi Zero での転送速度の低下--transfers 1 --checkers 2 に制限する

ジョブ履歴の確認:

RcloneView は実行したすべてのジョブの履歴を保持するため、スケジュールされたバックアップが正常に完了したかどうかを簡単に確認できます。

job history

はじめに

DietPi 上に RcloneView をセットアップすることで、安価なシングルボードコンピュータを専用の常時稼働型クラウド同期アプライアンスに変えられます。DietPi の最小限のリソース使用量と RcloneView の直感的な GUI の組み合わせにより、最も制約の多いハードウェアでもクラウドストレージ管理が手軽になります。まずはシンプルな単一リモートの同期ジョブから始め、確実に動作することを確認したうえで、複数リモートや自動スケジュールへと拡張していきましょう。


関連ガイド:

対応クラウドプロバイダー

Local Files
WebDAV
FTP
SFTP
HTTP
SMB / CIFS
Google Drive
Google Photos
Google Cloud Storage
OneDrive
Dropbox
Box
MS Azure Blob
MS File Storage
S3 Compatible
Amazon S3
pCloud
Wasabi
Mega
Backblaze B2
Cloudflare R2
Alibaba OSS
Ceph
Swift (OpenStack)
IBM Cloud Object Storage
Oracle Cloud Object Storage
IDrive e2
MinIO
Storj
DigitalOcean Spaces