转载于http://wolfplanet.iteye.com
很多人都说Linux下没有一个和Win下Ghost功能类似的软件,要实现类似win系统的整系统备份几乎没有办法,经过多次试验使用tar完成这个功能,只是过程有点复杂。
日后有空使用dd试试,或许效果能更好。
注:要备份系统,最好使用光盘或者其它系统盘启动(和win下的进入dos再作备份类似),把系统的文件系统按照/etc/fstab里面的文件结构挂载到现有文件系统中。
本文以FC4为例,直接在系统中对正在运行的系统进行备份:
首先查看系统文件结构:
[root@FC4 /root]# mount
/dev/sda6 on / type ext3 (rw)
none on /proc type proc (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
usbdevfs on /proc/bus/usb type usbdevfs (rw)
/dev/sda1 on /boot type ext3 (rw)
/dev/sda7 on /home type ext3 (rw)
none on /dev/shm type tmpfs (rw)
/dev/sda3 on /usr type ext3 (rw)
/dev/sda2 on /var type ext3 (rw)
[root@FC4 /root]#
[root@FC4 /root]# fdisk /dev/sda
The number of cylinders for this disk is set to 4425.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): p
Disk /dev/sda: 36.4 GB, 36401479680 bytes
255 heads, 63 sectors/track, 4425 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 3200 25599577+ 83 Linux
/dev/sda3 3201 3722 4192965 83 Linux
/dev/sda4 3723 4425 5646847+ f Win95 Ext'd (LBA)
/dev/sda5 3723 3853 1052226 82 Linux swap
/dev/sda6 3854 3984 1052226 83 Linux
/dev/sda7 3985 4425 3542301 83 Linux
Command (m for help): q
[root@FC4 /root]# more /etc/fstab
LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
none /dev/pts devpts gid=5,mode=620 0 0
LABEL=/home /home ext3 defaults 1 2
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
LABEL=/usr /usr ext3 defaults 1 2
LABEL=/var /var ext3 defaults 1 2
/dev/sda5 swap swap defaults 0 0
/dev/cdrom /mnt/cdrom udf,iso9660 noauto,owner,kudzu,ro 0 0
/dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0
[root@FC4 /root]
从上面的结果可以看出,系统实际的挂节点只有 / /boot /home /usr /var,在备份的使用应该把proc sys shm等内核、系统、内存文件系统排除。
在/下建立exclude文件,内容:
[root@FC4 /root]# cat /exclude
./proc/*
./sys/*
./dev/pts/*
./dev/shm/*
./proc/sys/fs/binfmt_misc/*
./var/log/BACKUP*
./tmp/*
__ELM__
[root@FC4 /root]#
为了恢复方便,使用相对路径,所以在exclude文件中使用相对路径,都以‘./’开头,由于我的系统中/var分区比较多的剩余空间,所以打算把备份文件放到这个文件系统中,且以BACKUP开头,所以要把备份后的文件排除:./var/log/BACKUP*
一切准备就绪,下面开始备份:
[root@FC4 /root]# cd /
[root@FC4 /]# tar -X ./exclude -czvf ./var/log/BACKUP_FC4_20060119.tar.gz ./
OK,命令结束后,备份就完事了。你可以把BACKUP_FC4_20060119.tar.gz文件复制到其它备份主机上,用于恢复。
系统恢复:
使用系统的Rescue盘启动系统,对新硬盘进行分区,然后创建文件系统。
分区使用fdisk(如果新盘和原盘大小一致,最使分区大小也一致,具体可以根据备份前fdisk的输出结果来操作),具体步骤略。
然后创建文件系统:
Bash-3.0# mkfs.ext3 -L / /dev/sda6
Bash-3.0# mkfs.ext3 -L /boot /dev/sda1
Bash-3.0# mkfs.ext3 -L /home /dev/sda7
Bash-3.0# mkfs.ext3 -L /usr /dev/sda3
Bash-3.0# mkfs.ext3 -L /var /dev/sda2
然后挂载文件系统:
Bash-3.0# cd /mnt
Bash-3.0# mount /dev/sda6 source
Bash-3.0# cd source
Bash-3.0# mkdir boot
Bash-3.0# mount /dev/sda1 boot
Bash-3.0# mkdir home
Bash-3.0# mount /dev/sda7 home
Bash-3.0# mkdir usr
Bash-3.0# mount /dev/sda3 usr
Bash-3.0# mkdir var
Bash-3.0# mount /dev/sda2 var
然后想办法把你备份的文件弄到这个主机上来,方法不限。
我把备份文件放在/mnt/source/var/下,因为我的这个分区比较大。
然后恢复数据。
Bash-3.0# cd /mnt/source
Bash-3.0# tar -zxf var/BACKUP_FC4_20060119.tar.gz
完毕后安装grub:
Bash-3.0# chroot /mnt/source
Bash-3.0# grub
如果提示无法识别TERM,请使用:
Bash-3.0# grub --no-curses
Grub> root (hd0,0)
Grub> setup (hd0)
当然root (hd0,0)要根据你的环境而改变,具体查看grub手册。
Bash-3.0# sync
Bash-3.0# exit
Bash-3.0# exit
OK,恢复完毕。(由于我是在线的时候备份的,所以启动的时候会fsck所有硬盘,如果你进入rescue模式备份,就不会有这个提示了)。
注意: 如果你备份的系统是EL3,在恢复的时候,最好不要使用FC4的rescue盘,否则会提示使用更新版本的fsck对硬盘进行检查,所以最好使用相同版本的rescue盘进行恢复。
简单的备份方法(但是很占用空间):
用rescue盘启动后:
Bash-3.0# dd if=/dev/sda bs=10M | gzip -9 > /other/disks/path/backup_FC4_20060119.dd.gz
/other/disks/path就是其它盘上的某个目录下。
相同的盘ghost直接使用:
Bash-3.0# dd if=/dev/sda of=/dev/sdb bs=10M
恢复方法:
Bash-3.0# gzip -dc backup_FC4_20060119.dd.gz | dd of=/dev/sda bs=10M
然后重新启动就OK了。
相关文章还可以参考:Ubuntu的Wiki
分享到:
相关推荐
linux系统备份工具,本人亲自测试使用OK,硬盘对拷完全备份,只是速度稍有点慢,请耐心等待完成。
linux下自动备份数据文件脚本,只需要修改日期,按日期备份,定时删除。
为linux系统设置备份,备份最重要,其它都是浮云
无论什么系统,最安全的做法。就是调试好后,做个备份。到时遇到什么大问题,直接恢复出来,方便而省事。下面详细Linux备份与恢复方法
<<linux系统的备份与还原>>挺不错的,适合初学者!
基于IP网络的Linux集群系统备份、恢复模型.pdf
linux ghost系统备份
操作系统:CentOS 6.9 Linux,备份软件:Clonezilla(再生龙),用UltraIOS将clonezilla-live-2.5.0-25-i686-pae.iso刻录成光盘或者制作成U盘启动盘,用来引导备份与恢复系统,实现目的:全盘备份CentOS 6.9系统到...
Linux实时文件备份系统综述.pdf
开源系统linux备份方案, 我们系统备份时就用这个为模板,超好用的
本资源是一份再生龙备份Linux系统的教程,详细介绍了如何使用再生龙工具进行Linux系统备份和恢复操作。同时,该资源还包含所需的文件和工具,方便读者进行实际操作。 适用人群: 本资源适用于Linux系统管理员、IT...
图形界面备份Linux系统介绍 图形界面备份Linux系统介绍
linux下mysql定时备份
linux 系统备份 常用命令 磁带机 如何做好Linux磁带机备份
linux 环境 oracle 数据库定时备份
用G4L对Linux进行系统备份的相关操作.
对嵌入式Linux操作系统中的UBIFS文件系统备份方法.docx
备份Linux操作系统的几种方法,tar dd
Linux系统下的RMAN备份与恢复.pdf
Linux系统下备份MySQL数据库脚本,含注释