web-dev-qa-db-ja.com

SSD上のシステムとHDD上のホームでのフルバックアップと復元にtarを使用するにはどうすればよいですか?

SSD上のシステムとHDD上のホームでのフルバックアップと復元にtarを使用するにはどうすればよいですか?

既存のバックアップと復元の回答は、ルートとホームが別々のデバイス上にある場合をカバーしていないようです

13
Buildit

2つのバックアップを作成することをお勧めします。 /の場合は1、/ homeの場合は1が異なるパーティションにある場合。必要な場合は、その1つのコマンドに多くの例外を追加する必要があります。例:

Sudo su
cd /
tar -cvpzf backup.tar.gz --exclude=/backup.tar.gz --one-file-system / 
tar -cvpzf backuphome.tar.gz --one-file-system /home/

ルートをバックアップし、/ mediaなどのマウントされたすべてのパーティションを除外します(外部デバイスはバックアップしません(実際にはバックアップしません))。/devや/ procのようなものは絶対にバックアップしません。/homeは別のバックアップに移動します。

上記の方法では、バックアップは/に保存されます。外部メディアに保存するのがベターです。その後、backup.tar.gzの前にディレクトリを配置し、最初のコマンドから--exclude=...をドロップできます。

  • backup.tar.gzはバックアップです。
  • --excludeは、実際のバックアップがバックアップされないようにします。
  • cvpzf:ファイルの作成、冗長化、許可の保持、圧縮、使用。

  • -one-file-system-異なるファイルシステム上のファイルを含めないでください。/homeパーティションなどの他のファイルシステム、または/ mediaにマウントされた外部メディアがバックアップされる場合、それらを個別にバックアップするか、このフラグを省略します。このフラグを省略した場合、不要なファイルシステムを避けるために、さらに--exclude =引数を追加する必要があります。 これらは、ルートの/ proc、/ sys、/ mnt、/ media、/ run、および/ devディレクトリになります。/ procおよび/ sysは仮想ファイルシステムです。実行中のカーネルの変数にウィンドウを提供するので、それらを試したり、バックアップまたは復元したりする必要はありません。/devはtmpfsであり、その内容はudevによって動的に作成および削除されるため、バックアップまたは復元する必要もありません。同様に、/ runは、バックアップする必要のない実行中のシステムに関する変数を保持するtmpfsです( Source )。


したがって、まだ「ワンライナー」が必要な場合は、次のようになります。

cd /
tar -cvpzf backup.tar.gz --exclude=/backup.tar.gz --exclude=/proc 
--exclude=/tmp --exclude=/mnt --exclude=/dev --exclude=/sys / 

(除外する必要があるものがすべて得られたらいいのですが)


復元は

Sudo su
cd /
tar xvzf backup.tar.gz

(rootが所有するファイルのため)アクセス権に関するエラーメッセージが表示されるため、tarコマンドの前でSudoを使用しませんでした。

16
Rinzwind