用tar备份恢复linux系统

linux系统进行备份


目的:由于需要安装很多复杂的软件

有时候可能会把系统玩坏,或者不尽如人意,这个时候就要对linux系统进行备份和恢复了,让系统重新回到原来的最好时候

参考鸟哥私房菜:

http://linux.vbird.org/linux_basic/0580backup.php 


那么,应该怎么进行备份和恢复呢?

注意:这里的备份和恢复要是对原系统进行恢复,而不是一个没有系统的空磁盘。

如果要在空盘上恢复原来的系统要重新安装GRUB

http://wiki.ubuntu.org.cn/RecoveringUbuntuAfterInstallingWindows 

第二个方法比较好


就像备份和压缩一样,我们可以很简单的一个分区上的文件都放入个TAR文件中,最后再把这个tar放回这个分区就可以了,这个分区通常是/分区


我这里的方法的备份和恢复都是要求系统的分区不曾改动过的情况

但是如果有原系统分区表也可以

比如


root@xianb:/home/xianb# cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
#              
proc            /proc           proc    nodev,noexec,nosuid 0       0
# / was on /dev/sda6 during installation
UUID=6f7b4be5-56ce-48f9-8b7b-6c9084aff945 /               ext4    errors=remount-ro 0       1
# /boot was on /dev/sda1 during installation
UUID=b4588590-c3bd-4fa8-83cb-d1ad4ac9c4c4 /boot           ext4    defaults        0       2
# /home was on /dev/sda7 during installation
UUID=f064f86b-76f1-46bd-bb13-295db6215a2c /home           ext4    defaults        0       2
# swap was on /dev/sda5 during installation
UUID=40fe7e2a-d984-467a-9d63-77a51a4ea222 none            swap    sw              0       0


在备份的同时最好把这个包括在备份文件中


步骤是:


.su

.cd /到文件系统的根目录去(因为我们要备份的是/目录)

.开始备份完整系统了

tar cvpzf backup.tgz / --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz  --exclude=/mnt  --exclude=/sys --exclude=/media --exclude=/tmp


tar是一个备份软件

cvpfz是选项创建一个压缩文档,保存权限,减小压缩大小


接着是我们要备份的根目录即/

然后是一些我们不想要备份的东西

/proc是不需要备份的

/lost+found也是

/backup.tgz千万不要把自己也加上去

/mnt是挂载别的一些东西的,也不要备份

/media也是不要备份的


这里我们没有排除分区,所以我们这里的备份策略是备份想要的东西


执行这个命令后等待一段时间

在根目录下会有一个名字叫backup.tgz的文件

注意保存好这个文件!

也可以用bzip来压缩备份

但是会比较慢,但是压缩率高

只用把z换成j就可以了


2.恢复备份

这里是使用livecd来恢复


我们将要恢复backup.tgz文件


su成为超级用户

然后这样

假设硬盘分区是这样的

sda1 是 /boot

sda6 是 /

sda7 是 /home

sda5 是 swap交换分区


那么执行下面命令


mount /dev/sda6 /mnt

mount /dev/sda7 /mnt/home

mount /dev/sda1 /mnt/boot


然后执行


tar xvpfz backup.tgz -C /mnt


再执行

sync

这样会把分区里所有文件替换成压缩文档里的文件


如果你修改过分区,那么就要重新修改

fstab文件中的uuid,否则会提示错误找不到设备

查看uudi的命令

ls -l /dev/disk/by-uuid

然后修改一下

同时还要修改/boot/grub/grub.conf

的uuid

记住,之后要重新创建你之前没有包括的文件

比如说/mnt/proc /lost+found这样又可以重新启动了!


但是如果你想把系统移动到一块新的硬盘上去,那么就要在新硬盘上安装GRUP了,


如果在恢复系统后发现grub用不了了

那么可以看看我的另一篇文章,有详细介绍如何使用Live CD重新恢复 grub

http://blog.csdn.net/xianbt/article/details/18900209




你可能感兴趣的:(linux)