`
天海浪人
  • 浏览: 36308 次
  • 性别: Icon_minigender_1
  • 来自: 济南
最近访客 更多访客>>
社区版块
存档分类
最新评论

linux下的系统备份

阅读更多

转载于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系统备份工具

    linux系统备份工具,本人亲自测试使用OK,硬盘对拷完全备份,只是速度稍有点慢,请耐心等待完成。

    linux ghost系统备份

    Linux Ghost系统备份是一种非常有用的系统备份和恢复工具,它能够帮助用户快速备份和恢复Linux系统。下面我们将详细介绍Linux Ghost系统备份的工作原理和操作步骤。 一、Linux Ghost系统备份的工作原理 Linux ...

    为linux系统设置备份

    以下是对Linux系统备份的深入探讨,包括策略设定、介质选择及常用工具的应用。 #### 设置备份策略 **确定备份范围**:首先,明确哪些数据需要备份至关重要。用户文件、配置文件以及程序文件是最常见的备份对象。...

    基于IP网络的Linux集群系统备份、恢复模型.pdf

    【基于IP网络的Linux集群系统备份、恢复模型】 在当今互联网时代,高性能的Linux集群系统在企业级应用中扮演着至关重要的角色。由于其高可用性、可扩展性和成本效益,Linux集群被广泛用于关键任务服务,如数据中心...

    对嵌入式Linux操作系统中的UBIFS文件系统备份方法.docx

    嵌入式Linux操作系统中的UBIFS文件系统备份方法 嵌入式Linux操作系统中的UBIFS文件系统备份方法是指在嵌入式Linux操作系统中对UBIFS文件系统进行备份的方法,以减少由于断电导致数据设置问题。本方法的实现目标是...

    在windows下如何备份linux分区.zip

    标题中的“在Windows下如何备份Linux分区”是一个关于在Windows操作系统中对Linux系统分区进行备份操作的主题。这个过程通常涉及到跨平台的磁盘管理工具,因为Windows原生并不支持直接操作Linux分区。以下是对这个...

    linux下自动备份数据脚本

    linux下自动备份数据文件脚本,只需要修改日期,按日期备份,定时删除。

    suselinux系统备份恢复配置收集.pdf

    SUSE LINUX 系统备份恢复配置收集 Suselinux 系统备份恢复配置收集是指在 Suselinux 操作系统中对系统进行备份和恢复的配置收集,旨在确保系统的安全和可靠性。下面是 Suselinux 系统备份恢复配置收集的详细说明:...

    Linux系统 备份

    在IT行业中,Linux系统备份是至关重要的操作,它保护了数据免受意外损失,确保系统的稳定运行。Linux系统备份通常涉及文件系统、配置文件、用户数据以及系统软件等多个方面。以下将详细介绍Linux系统备份的相关知识...

    linux系统GHOST备份实施方案.doc

    尽管文中并未详细介绍Partition Image,但其通常也被认为是Linux系统备份的好选择,尤其是在需要快速克隆系统的情况下。 总结来说,Linux系统的备份是一项关键任务,而G4L等工具提供了高效、灵活的解决方案。通过...

    Linux下定时备份文件.zip_数据库定时备份

    在Linux系统中,定期备份文件是一项至关重要的任务,可以确保数据的安全性和可恢复性。Linux提供了多种工具和方法来实现这一目标,其中一种常见的方法是使用shell脚本结合cron计划任务。下面我们将深入探讨如何在...

    linux全盘系统备份与恢复教程

    ### Linux全盘系统备份与恢复教程 #### 一、全盘备份CentOS 6.9系统至外部存储设备 在日常运维工作中,全盘备份是非常重要的环节之一,它能够帮助我们在遇到不可预料的问题时迅速恢复系统,减少业务中断时间。本...

    Linux实时文件备份系统综述.pdf

    内核态与用户态的切换在Linux系统中扮演着重要角色。内核态允许程序访问所有系统资源,包括高端内存,因此备份的核心功能都在内核级别实现。内核模块负责监视文件变化,创建虚拟设备;用户空间的守护进程则负责数据...

    linux系统备份还原软件和详细步骤.rar

    在使用再生龙进行Linux系统备份还原时,用户应充分了解各种备份类型和恢复选项,以确保备份策略的有效性和恢复的准确性。定期备份并妥善保管备份文件,是保障数据安全的关键。同时,理解备份和恢复的流程可以帮助...

    Linux系统裸机备份与恢复的设计和实现.pdf

    2. 自动收集系统备份信息:这是备份步骤中非常重要的一步,是裸机恢复的前提。恢复过程用这些信息来重构 Linux 服务器的硬件设备和软件环境。 3. 备份操作系统:使用 Tar 和 dd 两个非常好用的备份工具。Tar 工作在...

    linux下自动备份数据库

    以下是一份详尽的步骤指南,教你如何在Linux系统中设置数据库的自动备份。 1. **选择数据库类型**:首先,你需要确定你正在使用的数据库类型,如MySQL、PostgreSQL、MongoDB等。每种数据库的备份方法略有不同。 2....

    有备无患Linux操作系统备份方法介绍

    无论什么系统,最安全的做法。就是调试好后,做个备份。到时遇到什么大问题,直接恢复出来,方便而省事。下面详细Linux备份与恢复方法

    Linux 操作系统备份.doc

    这篇文档《Linux操作系统备份》将探讨如何在Linux环境中进行系统级别的备份,以及可能用到的相关工具。 首先,我们需要理解Linux备份的基本类型。全备份是指备份所有文件和目录,包括系统文件、用户数据以及配置...

    linux上安装备份

    在Linux系统中,安装MySQL数据库并进行有效快速的备份是管理员必须掌握的重要技能。这篇教程将针对Linux初学者,详细讲解如何安装MySQL,以及如何备份数据库和Web服务,确保数据安全。 首先,让我们开始MySQL的安装...

Global site tag (gtag.js) - Google Analytics