Linux 备份与恢复速成.docx
- 文档编号:4317664
- 上传时间:2022-11-29
- 格式:DOCX
- 页数:41
- 大小:835.33KB
Linux 备份与恢复速成.docx
《Linux 备份与恢复速成.docx》由会员分享,可在线阅读,更多相关《Linux 备份与恢复速成.docx(41页珍藏版)》请在冰豆网上搜索。
Linux备份与恢复速成
Linux备份与恢复速成
inux是一个稳定而可靠的环境。
但是任何计算系统都有无法预料的事件,比如硬件故障。
拥有关键配置信息的可靠备份是任何负责任的管理计划的组成部分。
在Linux中可以通过各种各样的方法来执行备份。
所涉及的技术从非常简单的脚本驱动的方法,到精心设计的商业化软件。
备份可以保存到远程网络设备、磁带驱动器和其他可移动媒体上。
备份可以是基于文件的或基于驱动器映像的。
可用的选项很多,您可以混合搭配这些技术,为您的环境设计理想的备份计划。
确定策略
所备份的内容很大程度上取决于您备份它们的理由。
您是否试图从严重的故障(比如硬盘驱动器问题)中恢复?
您是否想归档以便能在需要时恢复旧的文件?
您计划从一个冷系统和还原着手,还是从一个预加载的备用系统着手?
确定要备份的内容
在备份和还原系统时,Linux基于文件的性质成了一个极大的优点。
在Windows系统中,注册表与系统是非常相关的。
配置和软件安装不仅仅是将文件放到系统上。
因此,还原系统就需要有能够处理Windows这种特性的软件。
在Linux中,情况就不一样了。
配置文件是基于文本的,并且除了直接处理硬件时以外,它们在很大程度上是与系统无关的。
硬件驱动程序的现代方法是,使它们以动态加载的模块的形式可用,这样内核就变得更加与系统无关。
不同于让备份必须处理操作系统如何安装到系统和硬件上的复杂细节,Linux备份处理的是文件的打包和解包。
一般情况下,以下这些目录是需要备份的:
∙/etc
包含所有核心配置文件。
这其中包括网络配置、系统名称、防火墙规则、用户、组,以及其他全局系统项。
∙/var
包含系统守护进程(服务)所使用的信息,包括DNS配置、DHCP租期、邮件缓冲文件、HTTP服务器文件、db2实例配置,等等。
∙/home
包含所有用户的默认用户主目录。
这包括他们的个人设置、已下载的文件和用户不希望失去的其他信息。
∙/root
是根(root)用户的主目录。
∙/opt
是安装许多非系统文件的地方。
IBM软件就安装在这里。
OpenOffice、JDK和其他软件在默认情况下也安装在这里。
有些目录是应该考虑 不备份的。
∙/proc
应该永远不要备份这个目录。
它不是一个真实的文件系统,而是运行内核和环境的虚拟化视图。
它包括诸如/proc/kcore这样的文件,这个文件是整个运行内存的虚拟视图。
备份这些文件只是在浪费资源。
∙/dev
包含硬件设备的文件表示。
如果计划还原到一个空白的系统,那就可以备份/dev。
然而,如果计划还原到一个已安装的Linux系统,那么备份/dev是没有必要的。
其他目录包含系统文件和已安装的包。
在服务器环境中,这其中的许多信息都不是自定义的。
大多数自定义都发生在/etc和/home目录中。
不过出于完整性的考虑,您可能希望备份它们。
在生产环境中,我希望确保数据不会丢失,因而我会备份除/proc目录之外的整个系统。
如果最担心用户和配置,我会仅备份/etc、/var、/home和/root目录。
备份工具
正如前面提到过的,Linux备份在很大程度上就是打包和解包文件。
这允许使用现有的系统实用工具和脚本来执行备份,而不必购买商业化的软件包。
在许多情况下,这类备份将是足够的,并且为管理员提供了极大的控制能力。
备份脚本可以使用 cron 命令来自动化,这个命令控制Linux中预定的事件。
tar
tar 是一个已移植到Linux中的经典UNIX命令。
tar 是 tape archive(磁带归档)的缩写,最初设计用于将文件打包到磁带上。
如果您下载过Linux源代码,或许已经碰到过tar文件。
这是一个基于文件的命令,它本质上是连续地、首尾相连地堆放文件。
使用 tar 可以打包整个目录树,这使得它特别适合用于备份。
归档文件可以全部还原,或从中展开单独的文件和目录。
备份可以保存到基于文件的设备或磁带设备上。
文件可以在还原时重定向,以便将它们重新放到一个与最初保存它们的目录(或系统)不同的目录(或系统)。
tar 是与文件系统无关的。
它可以使用在ext2、ext3、jfs、Reiser和其他文件系统上。
使用 tar 非常类似于使用诸如PKZip这样的文件实用工具。
只需将它指向一个目的(可以是文件或设备),然后指定您想要打包的文件。
您可以通过标准的压缩类型来动态压缩归档文件,或指定一个自己选择的外部压缩程序。
要通过bzip2压缩或解压缩文件,可使用 tar-z 命令。
要使用 tar 来把除/proc目录之外的整个文件系统备份到SCSI磁带设备:
tar-cpf/dev/st0/--exclude=/proc
在上面的例子中, -c 开关表示归档文件正在被创建。
-p 开关表示我们希望保留文件许可权限,这对良好的备份来说是很关键的。
-f 开关指向该归档文件的文件名。
在本例中,我们使用的是原始磁带设备/dev/st0。
/表示我们想要备份的内容。
既然我们想要备份整个系统,因此把这个开关指定为根(root)。
当把 tar 指向一个目录(以/结尾)时,它会自动递归。
最后,我们排除了/proc目录,因为它没有包含需要保存的任何内容。
如果单盒磁带容纳不下这个备份,我们需要添加 -M 开关(本例中没有显示)以进行多卷备份。
以防万一
不要忘了Linux是区分大小写的。
例如, tar 命令应该总是以小写的形式执行。
命令行开关可以是大写、小写或大小写的混合。
例如, -t 和 -T 执行不同的功能。
文件或目录名称可以混合使用大小写,而且就像命令和命令行开关一样,是区分大小写的。
要还原一个或多个文件,可以使用带提取开关( -x )的 tar命令:
tar-xpf/dev/st0-C/
这里的 -f 开关同样指向归档文件, -p 开关表明我们想要还原归档的权限。
-x 开关表明从归档中提取文件。
-C/ 表明我们想要让还原从/开始。
tar 通常还原到运行这个命令的目录。
-C 开关使我们的当前目录不再相关。
您可能会经常使用的另外两个 tar 命令是 -t 和 -d 开关。
-t 开关列出某个归档文件的内容。
-d 开关将归档文件的内容与系统上的当前文件作比较。
为便于操作和编辑,您可以将想要归档的文件和目录放进一个文本文件中,然后在命令行通过 -T 开关引用这个文本文件。
这些文件和目录可以与命令行上列出的其他目录结合起来。
下面的命令行备份MyFiles中列出的所有文件和目录、/根目录和/tmp目录中的所有iso文件。
tar-cpf/dev/st0-TMyFiles/root/tmp/*.iso
文件列表只是一个文本文件,其中列出文件或目录。
下面是一个例子:
/etc
/var
/home
/usr/local
/opt
请注意 tar-T (或 files-from )命令不能接受通配符。
文件必须明确地列出。
上面的例子展示了一种单独地引用文件的方法。
您还可以执行脚本来搜索系统,然后建立一个列表。
下面就是这样一个脚本的例子:
#!
/bin/sh
catMyFiles>TempList
find/usr/share-iname*.png>>TempList
find/tmp-iname*.iso>>TempList
tar-cpzMf/dev/st0-TTempList
上面的脚本首先将MyFiles中的所有现有文件列表复制到TempList。
然后它执行两个 find 命令来搜索文件系统中匹配某个模式的文件,并将它们附加到TempList。
第一次是搜索/usr/share目录树中以.png 结尾的所有文件。
第二次是搜索/tmp目录树中以 .iso 结尾的所有文件。
在建立好列表之后, tar然后在文件设备/dev/st0(第一个SCSI磁带设备)上创建一个新的归档文件,该文件使用g zip格式来压缩,并保留所有文件权限。
该归档文件将跨越多个卷。
要归档的文件的名称将从TempList文件中提取。
还可以使用脚本来执行更精细的操作,比如增量备份。
GerhardMourani在他的 SecuringandOptimizingLinux 一书中给出了一个优秀的脚本。
也可以编写脚本来还原文件,虽然还原通常是手动进行的。
正如上面提到过的,用于提取文件的 -x 开关代替了 -c 开关。
可以还原整个归档文件,或者还原指定的个别文件或者目录。
使用通配符来引用归档文件中的文件是可以的。
还可以使用开关来转储和还原。
Linux与Unix文件系统备份和恢复方法介绍
备份的目标:
用户文件或整个文件系统
备份的关键问题
备份频率
备份内容
备份介质
备份设备的选择
备份的工具有
dump,restore
volcopy,labelit
tar,cpio,dd
第三方厂商备份工具
三种备份方式
完全备份(普通备份Normal):
备份所有选择的文件和文件夹(不管是否被设为存档属性),备份后清除备份标志;通常,在首次创建备份集时要执行一次正常备份。
增量备份(Incremental):
只备份选择的,并且带有标志的文件和文件夹,它清除备份标志。
即只备份上次正常备份或增量备份以来创建或更改的文件。
其需要最少的存储空间,并节省备份时间。
然而在恢复文件比较耗时和困难。
差异备份(Differential):
只备份选择的,并且带有标志的文件和文件夹,它不清除备份标志。
即只备份上次正常备份或增量备份以来创建或更改的文件。
由于其不清除文件的存档属性,所以对一个文件执行两次差异备份,则在每一次整个文件都要被备份。
差异备份使用的存储介质比增量备份多,但还原差异备份的数据则简单些。
dump
1、dump是Linux系统提供的备份和恢复工具,各种版本都提供(不提供日志文件)。
2、dump 执行文件系统增量备份的存储操作,可以备份到磁带、磁盘或一个磁盘文件。
指定文件备份
整个文件系统备份或增量备份
一个确定日期后改变的文件备份
上次备份后改变的文件备份
3、命令格式:
dumplevelunbdsfblkg-factordensitysizedevice-namefile_system
level:
备份级别,0~9
b:
:
因子
u:
更新dumpdates文件(/etc/dumpdates)
n:
当dump完成时通知操作系统成员组的成员
d和s:
备份卷的大小
f:
指定的备份设备
w和W:
空运行得到需要备份的文件系统的信息
restore
1、用于检查dump程序创建的转储以恢复新文件或整个文件系统
2、命令格式:
restore[-ctrox]vbsfyblocking-factorfile-numberdevice-name
c:
全部恢复
t:
用于显示卷的内容表
r:
指明卷的整个内容应该被恢复到当前工作目录
o:
覆盖原来的文件
x:
提取恢复的文件名和路径名
i:
允许交互式恢复
dump和restore的缺点
1、运行dump时,文件系统必须是不活跃的。
2、dump有时不能处理打开的文件和其他问题。
cpio
1、通过拷贝的方式实现文件或文件系统的备份与恢复
cpio–o创建一个备份
cpio–i从备份中恢复
cpio–p把一个文件从一个文件系统拷贝到另一个文件系统
cpio恢复
1、操作
全恢复、部分恢复
恢复到当前目录还是文件系统
用模式匹配进行恢复
交互式恢复
读取文件内容表
tar
1、备份:
tarcvfb[pattern]
2、恢复:
tarmopxvfdevicepattern
dd
1、将文件或原始数据以拷贝方式进行备份。
2、通过管道,实现数据流操作,在传输中把拷贝内容从一种格式转化为另一种格式。
3、借助管道能完成标准输入到标准输入,实现数据流从一个命令到另一个命令,从一个系统到另一个系统。
tar、cpio、dd
tar、cpio与dump的区别
1、dump在每个卷的开头位置写入一个内容表,用restore恢复时,该索引会被读取,在该索引表上可以运行cd、ls命令查看、选择要恢复的文件。
2、dump支持远程设备的备份,cpio不支持。
3、tar和cpio可以通过文件系统来访问文件而与文件系统无关。
Linux系统备份及恢复(原创)
在RedhatAS4u4X64实验通过!
假设系统盘是第一块SCSI盘,设备名是/dev/sda[1,2,3,4,5,6,7]
系统还有一块数据scsi盘,设备名是/dev/sdb1,文件系统为ext3
备份系统
1、启动光盘插CD,按linux rescue模式启动到Shell状态
2、挂接备份用的数据盘
mkdir /mnt/1
mount /dev/sdb1 /mnt/1
3、备份系统
dd if=/dev/sda of=/mnt/1/sda.file bs=10240k
4、弹出光区,重启系统
恢复系统
一旦因为灾难(硬件故障(raid可以防止这类错误),人为失误(raid不可防)),需要恢复系统,那就执行如下步骤!
1、恢复硬件到正常状态(该换的换);
2、启动光盘插CD,按linuxrescue模式启动到Shell状态
3、挂接备份用的数据盘
mkdir /mnt/1
mount /dev/sdb1 /mnt/1
4、恢复系统
dd if=/mnt/1/sda.file of=dev/sda bs=10240k
4、弹出光区,重启系统
附注1:
以上关键是要把备份好的文件sda.file保存到安全的地方!
附注2:
如果更换启动盘,需要换容量更大的或者一样的系统盘!
备份和恢复Linux系统服务器
进行一般的备份应该是负责任的系统管理者的最高优先考虑。
虽然Linux是一个高度可靠的作业系统,系统失效仍然可能发生。
可能因为硬体故障,电源中断,或其他不可预料的问题。
更常见的这些问题是来自人为的错误,不当的变动,甚至因为删除重要的档案。
如果您负责管理系统上的用户,一定可能常被要求重建因为不小心误删的档案。
如果您进行一般备份,以每日为基础较好(至少对更动频繁的使用者档案),您将会有助於减少档案的损失,并且增加复原程度。
最安全的备份方法是将他们纪录於不同的媒体中,例如磁带,抽取式硬碟,可写式cd.等。
然後将您的备份和您的Linux系统分开存放。
有时候这可能并不实际--也许在您可以存放备份磁带的地方没有防火室!
或是在第一优先的地点没有办法存取这样的外部备份系统。
虽然如此,仍然可以进行备份,只是会受到一点限制。
在我服务的单位,我在几个Linux系统上进行备份。
按情况的不同,有些备份存放在磁带,其他则写入位於网路上的不同伺服器中,然而有一些仍然使用cron自动作业(可能因为伺服器位在远端,在那里每天进行磁带备份是不切实际或不可能的),简单的放在分别不同磁碟上的分割区中(例如,放在``/archive/''档案系统)。
在家里,我没有外部的备份系统,我也没有大量的磁碟空间去存放备份影像档。
因此,我改为只备份在``/home/''的我的使用者档案,同样的还有一些在``/etc/''的自订设定档,将备份存放在分别不同的磁碟分割区中。
伺服器备份程序
进行Linux备份有几种不同的方法,其中包括所有Linux发行版本中都有的命令列工具,例如``dd'',``dump'',``cpio''以及``tar''。
其他还有文字型态工具,例如``Amanda''及``Taper'',这些是被设计来在备份及回存过程中加入更友善的使用者介面。
当然也有图形介面的工具,像是``KDat''。
最後,还有商业化的备份工具,像是``BRU''和``PerfectBackup+''。
这些备份计划中任何之一都足以提供您宝贵资料的保护。
这里有一些包括哪里可以获得工具的列表,可以在“LinuxApplicationsandUtilitiesPage”找到,位於 当决定好备份方式,您可能要考虑下列几点因素:
可携性-备份的可携性(亦即.从一个Linux发行版本或应用Unix备份然後回存到另外一个;例如从Solaris到RedHatLinux)对您而言是否重要?
如果是,可能想要选择一个命令列的工具(亦即.``dd'',``dump'',``cpio'',或``tar''),因为您可以相当地确定该工具可以在另一个*nix系统上找到。
无人或自动备份-定期自动进行备份而不需人力介入之能力,对您而言是否重要?
如果是,您可能需要能支援该方案的工具及备份媒体。
使用者友善-使用者友善的介面对您而言是否重要?
如果是,您可能想要选择一个文字或图形介面的工具。
商业的应用程式可以提供最简便的介面及技术支援。
远端备份-从远端机器进行备份及回存的能力对您而言是否重要?
如果是,您可能想要选择命令列或文字模式的工具而不是图形介面(除非您有相当快的网路连结及执行远端Xsessions的能力)。
网路备份-从网路主机进行备份及回存对您而言是否重要?
如果是,您可能要用一些支援从网路存取备份设备的命令列工具(像是``tar''),或是专用工具程式例如``Amanda''或是一些商业工具程式。
媒体型态-备份可以储存在很多不同的媒体,像是磁带,外接式硬碟,ZIP磁碟,或可读写CD。
考虑售价及可靠性,储存容量,及传送速度。
警告:
当备份您的系统时,不要包括``/proc''伪档案系统!
/proc中的档案并非真的档案,而仅是看起来像档案的描述,而且指向核心资料结构的连结。
备份``/proc/kcore'',这事实上这是一个伪装档案,包含记忆体中所有的资料,会浪费很多的磁带!
您可能也需要避免备份``/mnt''档案系统,除非您有从CD-ROM,软碟机,网路分享档案,或其他安装设备上备份的特殊需求。
明显地,备份及回存的过程会因您所选择的备份方法而有所不同。
然而,在这一节,我将会讨论我最常使用的两种工具备份的方法:
``tar''(其名称源於“TapeARchiver”),这是一个命令列式的工具,在*nix系统中具有很高的可携性;以及``KDat'',一个来自於KDE套件的图形介面磁带备份工具。
最後,我应该补充一点,依您所选择的备份方式,即使该工具没有建立於自动备份时间表上的能力,您仍然可以利用cron功能进行该自动备份。
参考使用Cron和Crontab档进行自动作业有关使用cron的细节以及如何建立crontab行程表档案。
使用``tar''备份:
如果您选择``tar''作为您的备份方案,您可能要花点时间去了解种种的指令选项;键入“mantar”有更深入的明细。
您还需要了解如何存取适当的备份媒体;虽然在Unix的世界中对待所有的装置就像处理档案一样,如果您写入到一个字元设备像是磁带,“档案”的名称就是设备本身的名称(亦即.``/dev/nst0''是一个SCSI介面的磁带机)。
下面的指令会将您的整个Linux系统备份於``/archive/''档案系统,除了``/proc/''伪装档案系统,``/mnt/'',``/archive/''档案系统(没必要备份我们的备份档!
),还有Squid很大的快取资料档(是的,依我之见,浪费备份媒体而且不需要去备份)之外的任何已挂载的档案系统:
tar-zcvpf/archive/full-backup-`date'+%d-%B-%Y'`.tar.gz
--directory/--exclude=mnt--exclude=proc--exclude=var/spool/squid.
不要被上面的指令吓到!
当我们将其分为两部分,您将会发现这个强力工具之美。
上列的指令指定了选项``z''(压缩;备份资料经由``gzip''压缩),``c''(建立;一个archive档开始被建立),``v''(verbose;显示出已经备份好的档案),``p''(允许保存;保护的资料将会被“记忆”,可以被回复)。
``f''(档案)选项後面接的是的要写入的archive档(或装置)名称,注意包含资料的档名是如何得到的,只要用两个後引号将``date''指令圈起来。
一般的命名惯例是在未压缩过的档案後面加上``.tar'',压缩的档案加上``tar.gz''``--directory''选项告知tar在开始备份前首先跳到以下的档案路径(在本例中是``/''目录)。
``--exclude''选项告知tar不要备份所指定的档案或目录。
最後,``.''符号告知tar要备份目前目录中的所有东西。
注意:
有一点很重要必须了解的就是tar的选项是大小写不同的!
此外,大部分的选项可以用助记符号加以简化(亦即.``f''),或者使用较易记忆的选项全名(亦即.``file'')。
助记符号前用一个``-''字元作为字首作为辨识,在全名的前面有两个这种符号的字首。
参考“man”页以得到更多有关使用tar的资讯。
另一个例子,这一次只有写入指定的档案系统(和上一个除了例外全部写入的例子相反)到一台SCSI的磁带机:
tar-cvpf/dev/nst0--label="Backupsetcreatedon`date'+%d-%B-%Y'`."--directory/--exclude=var/spool/etchomeusr/localvar/spool
在上面一行的选项,注意没有用到``z''(压缩)选项。
我强烈建议反对写入压缩资料到磁带上,因为如果磁带上资料有一部份损坏,您会失去整个备份!
然而,未压缩的储存的archive档
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 备份与恢复速成 备份 恢复 速成