linux tar备份还原系统

原本系统描述:

Rhel5.5_X86_64 ,系统中现存三个分区,分别为:

/dev/sda1,/boot分区的挂载点

/dev/sda2,swap分区的挂载点

/dev/sda3/分区的挂载点

外加一块硬盘作为系统备份盘,此盘只做一个分区:/dev/sdb1

备份:

本次采用了用live-cd起系统(理论上linux可以备份当前运行的系统)。进入系统的后输入以下命令

mount /dev/sda1 /opt

mount /dev/sda3 /sys/

mount /dev/sdb1 /mnt

tar zcvpf system.tar.gz / --exclude=/mnt/* --exclude=/proc/* --exclude=/sys/*

cp –a /opt/boot /mnt/

dd if=/dev/sda of=/mnt/sda.mbr bs=512 count=1

模拟破坏和还原系统

live-cd起系统找到备份的系统所在磁盘,如为/dev/sda

badblocks –v –w –p 1 –t 0 /dev/sda#向设备中写入一遍数字0

mkfs.ext3 /dev/sda

分成三个区sda1 ,sda2,sda3其中sda2设置成swap分区

fdisk –l 

mkfs.ext3 /dev/sda1

mkfs.ext3 /dev/sda3

mkswap /dev/sda2

挂载分区:

mount /dev/sda1 /opt

mount /dev/sda3 /sys/

mount /dev/sdb1 /mnt

cd /mnt;tarzxvpf system.tar.gz –C /sys/

cp-a /mnt/boot /opt/

dd if=/mnt/sda.mbr of=/dev/sda bs=512 count=1

修改/sys/boot/grub.conf,/sys/etc/fstab文件,将文件中所包含的lable修改为设备名的形式。

重启机器。