Linuxシステムのバックアップとリストア

3811 ワード

Ubuntuを使う前に、Windowsシステムを使った経験がある人も多いと思います.Windowsシステムをバックアップしたことがある場合は、まずバックアップツール(通常はプライベートソフトウェア)を見つけ、コンピュータを再起動してバックアップツールが提供するソフトウェア環境に入り、ここでWindowsシステムをバックアップまたはリカバリする必要があります.Norton Ghostは、Windowsシステムのバックアップによく使用されるバックアップツールです.
Windowsシステムをバックアップするとき、私はCディスク全体をZIPファイルに入れることができるかどうか考えたことがあります.これはWindowsでは不可能です.Windowsでは実行時にコピーや上書きが許可されないファイルがたくさんあるので、Windowsシステムを特別に処理するためのバックアップツールが必要です.
Windowsシステムのバックアップとは異なり、Ubuntuシステム(または他のLinuxシステム)をバックアップする場合は、Ghostのようなバックアップツールは必要ありません.実際、GhostのようなバックアップツールはLinuxファイルシステムのサポートに非常に悪いです.例えば、一部のGhostバージョンではExt 2ファイルシステムしかサポートされていません.Ext 3ファイルシステムをバックアップするために使用すると、貴重なデータが失われる可能性があります.
1.バックアップシステム
どうやってUbuntuシステムをバックアップすればいいですか?他のものをバックアップしたり圧縮したりするようにTARを使うのは簡単です.Windowsと違ってLinuxはrootアクセスを制限しません.パーティションのすべてのものをTARファイルに捨てることができます.
まずrootユーザーになります.
$ sudo su

次に、ファイル・システムのルート・ディレクトリにアクセスします(もちろん、ファイル・システム全体をバックアップしたくない場合は、リモート・ディレクトリやモバイル・ハードディスク(HDD)上のディレクトリなど、バックアップしたいディレクトリにアクセスすることもできます):
# cd /

次に、システムのバックアップに使用する完全なコマンドを示します.
# tar cvpzf backup.tgz –exclude=/proc –exclude=/lost+found –exclude=/backup.tgz –exclude=/mnt –exclude=/sys /

このコマンドを簡単に見てみましょう.
「tar」はもちろん、バックアップシステムで使用されているプログラムです.
「cvpfz」はtarのオプションで、「ファイルの作成」、「権限の保持」(すべてのものの元の権限を保持)、「gzipを使用してファイルサイズを小さくする」という意味です.
「backup.gz」は、私たちが取得するファイルのファイル名です.
「/」はバックアップするディレクトリです.ここではファイルシステム全体です.
アーカイブファイル名「backup.gz」とバックアップするディレクトリ名「/」の間にバックアップが与えられた場合に除外する必要があるディレクトリ.「/proc」、「/lost+found」、「/sys」など、不要なディレクトリもあります.もちろん、「backup.gz」というファイル自体は除外する必要があります.そうしないと、常識を超えた結果を得る可能性があります.「/mnt」を除外しないと、「/mnt」にマウントされている他のパーティションもバックアップされます.また、「/media」には何もマウントされていないことを確認する必要があります(例えば、光ディスク、モバイルハードディスク)、マウントされているものがあれば、「/media」も除外しなければなりません.
「/dev」ディレクトリを除外することをお勧めする人もいるかもしれませんが、これは妥当ではないと思います.具体的な原因はここでは議論しません.
バックアップコマンドを実行する前に、入力したコマンドが欲しいかどうかを確認してください.バックアップコマンドを実行するには、短い時間がかかる場合があります.
バックアップが完了すると、ファイルシステムのルートディレクトリにbackup.tgzというファイルが生成され、サイズが非常に大きい可能性があります.DVDに録画したり、安全だと思う場所に置いたりすることができます.
バックアップコマンドが終了すると、「tar:Error exit delayed from previous errors」というヒントが表示され、多くの場合無視できます.
また、Bzip 2でファイルを圧縮することもできます.Bzip 2はgzipより圧縮率が高いですが、速度が遅いです.圧縮率があなたにとって重要である場合は、Bzip 2を使用して、コマンドの「z」の代わりに「j」を使用し、ファイルに正しい拡張子「bz 2」を与える必要があります.完全なコマンドは次のとおりです.
# tar cvpjf backup.tar.bz2 –exclude=/proc –exclude=/lost+found –exclude=/backup.tar.bz2 –exclude=/mnt –exclude=/sys /

2.リカバリシステム
リカバリシステムの操作には注意してください.自分が何をしているのか分からない場合は、重要なデータを失う可能性があります.気をつけてください.
上の例に続きます.rootユーザーに切り替え、ファイル「backup.tgz」をパーティションのルートディレクトリにコピーします.
Linuxで素晴らしいことは、boot-cdで特別に導く必要がなく、実行中のシステムでシステムを復元できることです.もちろん、もしあなたのシステムがすでに停止して起動できないならば、あなたはLive CDで起動することができて、効果は同じです.Linuxシステムのすべてのファイルを1つのコマンドで乾かすこともできます.もちろん、ここではこのコマンドを出すつもりはありません.
次のコマンドを使用して、システムをリカバリします.
# tar xvpfz backup.tgz -C /

ファイルがBzip 2で圧縮されている場合は、次のように使用します.
# tar xvpfj backup.tar.bz2 -C /

注:上記のコマンドは、パーティション上のすべてのファイルをアーカイブファイルのファイルで上書きします.
リカバリコマンドを実行する前に、入力したコマンドが欲しいかどうかを確認してください.リカバリコマンドを実行するには短い時間がかかる場合があります.
リカバリコマンドが終了したとき、まだ作業が完了していません.バックアップ時に除外されたディレクトリを再作成することを忘れないでください.
# mkdir proc
# mkdir lost+found
# mkdir mnt
# mkdir sys

など
コンピュータを再起動すると、バックアップを作成するときのすべてのものが復元されます.