Raspberry Pi のバックアップ完全ガイド
Raspberry Pi のバックアップは簡単なプロセスです。高度なバックアップ ソリューションは数多くありますが、最も簡単な方法が最も効果的である場合もあります。このガイドでは、Raspberry Pi 環境の信頼性の高いローカル バックアップを生成するのに最適な、非常に効率的なコマンド ライン ツールである rsync の使用方法を説明します。
Raspberry Pi のバックアップに Rsync を使用する利点
Rsync (リモート同期の略) は、Raspberry Pi デバイスに便利にプリインストールされている強力なファイル同期および転送ユーティリティです。
このツールは、あるディレクトリから別のディレクトリにファイルをコピーするのに優れていますが、基本的なファイル転送よりもはるかにインテリジェントに動作します。Rsync はファイルの変更されたセクションのみを転送するため、時間とシステム リソースの両方が最適化されます。この機能は、頻繁に更新される大きなファイルをバックアップする場合に特に便利です。
私は主に、Raspberry Pi 上の重要なデータを保護するために rsync を使用しています。たとえば、デバイス上でフォト ギャラリー サーバーを実行しているのですが、rsync は新しいファイルや変更されたファイルを自動的に識別してコピーし、それらの貴重な画像を外部ドライブに効率的にバックアップします。
ファイル全体を転送する他のバックアップ ユーティリティとは異なり、rsync は変更されたセグメントのみに焦点を当てているため、バックアップ プロセスが大幅に高速化され、SD カードの消耗が軽減されます。コマンドライン インターフェイスは cron ジョブによる自動化に適しており、組み込みのチェックサムによりバックアップの整合性が保証されます。さらに、rsync は軽量設計であるため、バックアップが進行中でない限り Pi のパフォーマンスを妨げず、SD カードのスペースを過度に消費することもありません。
これらの機能により、rsync は私にとって好ましいバックアップ ソリューションとなり、信頼性が高く効率的なバックアップ戦略を求める多くの Raspberry Pi ユーザーにとって優れた選択肢となります。
Raspberry Pi で Rsync を使用してファイルとディレクトリをバックアップする
ディレクトリをバックアップする最も簡単な方法は、次のコマンドを使用することです。
たとえば、ホームディレクトリを「/media/backup」にある外部ドライブにバックアップするには、次のコマンドを使用します。
このコマンドは写真ライブラリのデータベースを安全に保存します。
コマンド オプションの内訳は次のとおりです。
-
-a
アーカイブ モードを有効にし、ファイルのアクセス許可、所有権、およびタイムスタンプを保持します。 -
-v
詳細出力を有効にして、コピーの進行状況を監視できます。 -
--delete
ソース ディレクトリに存在しなくなったファイルをバックアップから削除します。
Raspberry Pi のバックアップが成功していることを確認する
-n
バックアップに頼る前に、バックアップが正常に完了したことを確認することが重要です。これを行う最も簡単な方法は、または のいずれかを使用して指定できる rsync でドライ ランを実行することです--dry-run
。次のコマンドを実行します。
バックアップが最新のものである場合、転送対象として示されるファイルは存在しません。
より包括的な検証を行うには、 rsync コマンドに-c
または--checksum
オプションを含めることができます。この方法は、デフォルトのタイムスタンプとサイズのチェックに比べて遅くなりますが、チェックサムを生成することで、ソースとバックアップ間ですべてのファイルが同一であることを保証します。次のコマンドを実行するだけです。
最も詳細な検証方法はdiff
、ソースとバックアップの場所間で各ファイルとディレクトリを比較する コマンドを使用することです。これを行うには、次のコマンドを使用します。
この-r
オプションにより、diff はすべてのサブディレクトリを再帰的にチェックできます。出力が表示されない場合は、バックアップがソースと一致していることを意味します。違いが見つかった場合は、diff
どのファイルが異なるか、または欠落しているかを指定します。
Rsync を使用した包括的な Raspberry Pi バックアップの実行
場合によっては、いくつかの重要なフォルダーだけではなく、Raspberry Pi SD カード全体の完全なバックアップを実行する方が便利で安全な場合があります。
rsync を使用して Raspberry Pi の完全バックアップを実行するには、バックアップ ターゲット (別の SD カードまたはシステム全体を保存するのに十分な容量を持つ外付けドライブ) が必要です。すべてのファイルのアクセス許可と属性を正確に維持するために、バックアップ ドライブが ext4 などの Linux 互換のファイル システムでフォーマットされていることを確認してください。
Raspberry Pi の完全なセットアップをバックアップする上で最も難しいのは、特別なシステム ディレクトリとファイルを適切に管理することです。私の経験に基づくと、バックアップする必要がないか、復元すると問題が発生する可能性のあるシステム ディレクトリを除外するのが最善のアプローチです。「backup-exclude.txt」という名前のファイルを作成し、次のシステム ディレクトリを除外対象として含めることができます。
- /proc/* # ランタイムプロセス情報
- /sys/* # カーネルとシステムの詳細
- /dev/* # デバイスファイル
- /tmp/* # 一時ファイル
- /run/* # ランタイムデータ
- /mnt/* # マウントポイント
- /media/* # リムーバブルメディア
- /home/pi/.cache/* # ユーザーキャッシュファイル
- /lost+found # ファイルシステムリカバリディレクトリ
これらの除外を設定すると、不要なアプリケーションを閉じて、次のバックアップ コマンドを実行できます。
この-x
オプションにより、rsync が異なるファイルシステム レイヤー間を移動することがなくなり、システム フォルダーの複雑化を招くことがなくなります。この-h
オプションにより、rsync はファイル サイズと転送速度をユーザーにとってよりアクセスしやすい形式で表示できるようになります。
自動 Rsync バックアップのスケジュール設定
手動による完全バックアップは有益ですが、Linux に組み込まれている cron スケジュール システムを使用して自動化することを好みます。これを設定するには、ホーム ディレクトリに次の内容を含む「backup-pi.sh」というスクリプトを作成します。
スクリプトを で実行可能にし、次の行を入力して追加し、毎日深夜にバックアップを実行するようchmod +x backup-pi.sh
に cron を使用してスケジュールします。crontab -e
Rsync Raspberry Pi バックアップを復元する方法
個々のファイルやディレクトリを復元するのは簡単なプロセスです。rsync コマンドでソースと宛先を切り替えるだけです。たとえば、バックアップから写真ライブラリを復元するには、次のようにします。
システムを完全に復元するには、SD カードに新しくインストールされた Raspberry Pi OS が必要です。まず、新しい SD カードに Raspberry Pi OS を新規インストールします。その後、新しい SD カードで Raspberry Pi を起動し、初期セットアップを完了します。バックアップ ドライブを Pi に接続し、すべてが正しくマウントされたら、rsync を使用してバックアップを復元できます。
復元が完了したら、復元されたファイルがすべて正しくロードされていることを確認するために、Pi を再起動することをお勧めします。さらに、重要なサービスと構成が期待どおりに機能していることを確認してください。
復元後にアプリケーションが正しく動作しない場合は、ログ ファイル (通常は /var/log/ にあります) で権限関連の問題がないか確認してください。次のコマンドを実行する必要がある場合があります。
ホーム ディレクトリ ファイルの所有権を解決します。rsync を使用したデータの復元は、バックアップを作成するのと同じくらい簡単です。コマンド内のソース パスと宛先パスを逆にするだけです。
rsync のわかりやすいコマンドライン アプローチは気に入っていますが、ターミナルを使いたくない人のために、優れた GUI 代替手段が数多くあります。たとえば、Syncthing を使用すると、さまざまなシステム間で複数のフォルダーを同期できます。また、Timeshift はユーザー フレンドリなインターフェイスでシステム スナップショット機能を提供します。どのツールを選択するかに関係なく、重要なポイントは、重要なデータとシステム設定を保護するために、Raspberry Pi のバックアップを定期的に実行することです。
すべての画像はDavid Morelo氏の提供によるものです。
コメントを残す