如何备份 linux系统 求tar等命令

2024-12-04 14:21:57
推荐回答(2个)
回答1:

用tar会有各种各样难避免的问题,建议直接用启动盘启动系统后利用DD命令来整盘复制。
比如,举个最简单的例子,你只有两分区(以及各自挂载点) /dev/hda1(/) 和/dev/hda2(swap),而且你linux是在/dev/hda1(/)中,于是,你可以另接一硬盘(假设/dev/hdb1)用启动盘重启后,执行命令:
mount /dev/hdb1 /mnt/hdb1 -t ext2 #挂载到目录,没目录自已建,不用多解释了
dd if=/dev/hda1 of=/mnt/hdb1/sysimage.bak
dd if=/dev/hda of=/mnt/hdb1/mbr.bak bs=1 count=512 #备份MBR和分区表,若分区表不备份就把512改446

等吧。。分区越大时间越久,dd没有ghost这些软件聪明。哪怕你的linux只有1M但你的分区有1G,那备份时间就是复制1G的文件的时间

到另一台机子后,以同样的方法,恢复。假设光盘无坏道且是空的。
dd if= of=/dev/hda count=512 bs=1 #跟之前的硬盘的分区一样
dd if= of=/dev/hda1 #恢复系统

差不多就是这样。自已用虚拟机多练习下吧。毕竟具体问题要具体分析和使用。

回答2:

备份linux系统不像Windows权限限制很严格,Linux不限制根用户存取任何东西,因此,完全可以把一个分区上每一个的文件放入一个TAR文件中,方法如下:

sudo su
#接着去文件系统的根目录
cd /
#用来备份Linux系统的完整的命令
tar cvpzf backup.tgz / --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys