私はrsyncツールを使用してRaspberry PiのSDカードからデータをバックアップし始めました。私が使用するコマンドは次のとおりです。
sudo rsync -aAHXv --delete --exclude-from=/home/pi/rsync-exclude.txt / /media/pi/PI_BACKUP/
@goldilocksの優れたスタック交換ポストに基づいていますここ。
rsync
SDカードのディレクトリ構造が複製されていることがわかります。バックアップから復元するときに解決する必要があるいくつかの点があり、それについての説明が必要です。
- ファイルやディレクトリを復元することは私にとって最も満足のいく部分です。 rysncツールを使用すると、自分の作業(文書、画像、スクリプトなど)を問題なくバックアップおよび復元できます。しかし、インストールされたソフトウェアを復元できますか?
- 同様のソフトウェアがあります。GNUラジオRaspbian(Buster)に組み込まれているパッケージマネージャを使用してソフトウェアストアからインストールします。このソフトウェアをインストールするには時間がかかります。私は「Linuxではすべてがファイルです」を読みました。また、組み込みのパッケージマネージャ
/usr/lib
または/opt
。これは、ルートファイルシステムのバックアップコピーにこれらのフォルダを含めるだけで破損が発生した場合(再インストールせずに)ソフトウェアを復元するのに十分であることを意味しますか? - 一部のソフトウェアはパッケージマネージャの外部にインストールされます。たとえば、Arduino IDEをインストールしました。 Linuxのすべてはファイルなので、ルートファイルシステムのバックアップコピーにソフトウェアがインストールされているフォルダを含めてソフトウェアを再インストールすることも可能ですか?
しかもこれLinux Journalで提案されているソリューションは、rsyncを使用してシステム全体をバックアップおよび復元できることを示しているようです。これが実際にRaspberry Piでどのように機能するかを理解するのが困難です。私の解釈は、PiのSDカードが破損している場合は、次のことを行います。
- USBスティックからPiを起動する(一部のPiモデルではサポートされていません)
- (破損した)SDカードとバックアップメディアをインストールしてください。
- rysncを使用して、バックアップメディアのルートフォルダとすべてのコンテンツを元のSDカードに復元します。
まもなく!破損したカードは何も起こらなかったかのように再び生き延び、すべてのソフトウェアとデータはそのまま残りました。私の理解は正しいですか?元のファイルが回復できないほど破損した場合はどうなりますか?私はLinuxに関しては最高の初心者であり、助けてくれてありがとう。
答え1
Rsyncは、特定のファイル/ディレクトリのバックアップを作成する必要がある場合、特にほとんど変更されていない大規模ファイルの多くをバックアップする必要がある場合(rsyncは変更されたファイルのみを転送する)、優れたツールです。技術的にはあなたが正しいです。 Linux のほとんどはファイルシステムに保存されます。バックアップ(正しく実行された場合)を介してインストールされたソフトウェア、構成、デバイスノード/dev/
などを復元できます。しかし、いくつかの潜在的な落とし穴があります。
ファイルは1つずつコピーされるため、複数のファイルが一緒に属していると同期できない可能性があります。例:Raspiでフォトギャラリーを実行しており、バックアッププロセス中にユーザーが新しいイメージをインポートし、イメージがファイルシステムに書き込まれ、いくつかのエントリが別々のデータベースファイルに書き込まれます。画像を含むディレクトリがバックアップの開始時にコピーされ、データベースが最後にコピーされると、新しい画像が含まれていますが、そのイメージが欠落しているデータベースを含むバックアップが作成されることがあります。これによって重大な問題が発生するかどうかは、ソフトウェアの特性によって異なります。
一部のソフトウェアは、ディスク上のファイルが常に一貫した状態を維持することを保証できません。つまり、ファイルの編集中にバックアップすると、破損したファイルがバックアップされる可能性があります。ほとんど大丈夫だと思いますが、オペレーティングシステムの場合はすべてのファイルを閉じる方が安全です。つまり、ファイルを閉じることです。それ以外の場合はマイルが異なります。
Linuxシステムで使用されているすべての興味深い「ファイル」タイプに対して、バックアップが正しく機能していることを確認する必要があります。たとえば、デバイスノード
/dev/
、疑似ファイルシステム、/proc/
起動/sys/
プロセス中に必要なファイルに注意を払うことができます。バックアップが正常に機能していることを確認するには、新しいSDカードに復元してみてください。完全なLinuxシステムには多数のファイルがあります。他のコンピュータと同期するとは、すべてのコンテンツを読むことを意味するため、Raspiの速度が大幅に遅くなります。
結合を考えてみましたか?
- 時々、Raspiをシャットダウンして、別のコンピュータにSDカードのビット単位のバックアップを作成します(たとえば、次を
dd
使用)。 - rsyncを使用して、最も重要なファイル(/home、/usr/local、または/optのソースから構築されたソフトウェア)を定期的に別のコンピュータにコピーしますか?
- 必要に応じて、後で簡単にインストールできるように、インストールされているパッケージのリストをファイルにダンプします。?
これにより、単純なビット単位のバックアップが与える心の平和と、間違っている可能性が低い最も重要なファイルを頻繁に自動的にバックアップする便利さを組み合わせることができます。