系统备份是系统管理工作中非常重要的一个环切,本文详尽介绍了各类Linux系统的备份方式,相信对你们的日常管理工作有所帮助。

备份是一项重要的工作,而且好多人没有去做。一旦因为使用不当导致数据遗失,备份就成了真正的救命者。本文将讨论设置备份的策略和怎样选择备份介质linux 备份文件命令,并介绍用于备份的tar和cpio工具。

设置备份策略

设置备份策略和计划可以降低进行备份的可能性。备份开始前,要确定备份什么数据、备份的频度和使用哪些样的介质进行备份。备份的时侯,应当进行完全备份。

备份一般安排在空闲时间进行。在大多数系统中,因为此时用户数目最少,所以打开的文件也最少。因为备份要占用一些系统资源,运行备份时用户会发觉系统反应迟缓。

假如Linux计算机只有一个使用者,可以一个礼拜或一个月对整个系统备份一次。假如有关键性的文件,就应当有计划地把这种文件拷贝到一个可联通的c盘中。

备份之前,首先要确保正确地设置备份设备。大多数磁带备份系统在安装时可以发觉是否正确。系统启动后,打开一个终端窗口而且输入下边的命令

$dmeg|less

滚动列表,并从中找寻你的磁带系统的驱动。假如没有发觉,就须要加载一个组件驱动程序。

假如运行Linux服务器,就要制订一个备份计划linux环境配置,但这并不意味着每晚要对所有的东西都备份。系统中只有一部份东西须要每晚备份,下边先介绍下目录结构及备份策略:

目录结构:

/etc

包含所有核心配置文件。这其中包括网路配置、系统名称、防火墙规则、用户、组,以及其他全局系统项。

/var

包含系统守护进程(服务)所使用的信息,包括DNS配置、DHCP租约、邮件缓冲文件、HTTP服务器文件、db2实例配置,等等。

/home

包含所有用户的默认用房主目录。这包括她们的个人设置、已下载的文件和用户不希望丧失的其他信息。

/root

是根(root)用户的主目录。

/opt

是安装许多非系统文件的地方。IBM软件就安装在这儿。OpenOffice、JDK和其他软件在默认情况下也安装在这儿。

有些目录是应当考虑不备份的。

1./proc

应当永远不要备份这个目录。它不是一个真实的文件系统,而是运行内核和环境的虚拟化视图。它包括例如/proc/kcore这样的文件,这个文件是整个运行显存的虚拟视图。备份这种文件只是在浪费资源。

2./dev

包含硬件设备的文件表示。假如计划还原到一个空白的系统,那就可以备份/dev。但是,假若计划还原到一个已安装的Linux系统,这么备份/dev是没有必要的。

备份策略:

用户文件:每天都要对/home目录中的用户文件进行备份。

配置文件:/etc和/var目录中的配置文件不须要频繁备份,每位礼拜或每月备份一次即可,主要取决于配置修改的频繁程度。

linux 备份文件命令_linux 常见文件打包压缩命令_linux zip文件解压命令

程序文件:/usr和/opt目录中的程序文件极少发生变化,安装后做一次备份即可。一般情况下,程序文件可便捷地从原始安装盘中恢复。

选择备份介质

把备份存到那里有多种选择。下边介绍一些可选择的备份介质:

软驱:假如要把重要文件快速备份,或则将其带到家中,这时软驱仍然是一种可选的备份介质。

光碟写入器:随着光碟写入器显得越来越可靠,价钱也越来越低,光碟本身也十分实惠。选用此项的一个用处是光碟不容易被毁坏,它备份的可靠性很高。使用光碟写入器有两点不利诱因:它们速率较慢,但是只能保存大概650MB。

可重画的光碟:可重画光碟驱动器比光碟写入器要贵得多,工作方法与其类似。并且,这种光碟是可被重画的,但是它比只能写一次的光碟贵许多。可重画光碟其它的特点都与光碟写入器类似。

Jaz和Zip:Zip驱动器很流行,早已成为许多PC机的标准配置,同时它的c盘和驱动器也都不贵。它一张c盘可容纳100MB的数据,是一种用于快速、可联通备份的挺好选择。Jazc盘可以容纳上G字节的数据,但是使用更先进的技术以获得更好的表现。Jaz驱动器和Jazc盘都比较贵。Jaz和Zip的缺陷是都容易受损,但是保持时间相对要短。

磁带机:磁带备份设备是大多数Linux服务器的标准配置。磁带是可靠的,而且极少出现错误,它几乎比其它介质储存时间都要长。对于点对点工作组网路和小型网路,Travan和高档数字音频磁带(DAT)一般是最好的选择。Travan驱动器经过压缩可以处理8GB数据,这对于具有5-10个PC机的大型网路来说足够了。DAT驱动器有更好的表现,可以处理24GB的数据。DAT驱动器比Travan驱动器高昂,但它磁带的价钱要比TravanQIC磁带卷实惠。

高档磁带:选择高档磁带可能是相当贵的。与Travan或DAT相比,这些驱动器有更大的容量和更高的速率。三种广泛使用的驱动器类型是:SonyAdvancedIntelligetTape(AIT)、QuantumDigitalLinearTape(DLT)和ExabyteMammoth8mm。它们最少可以容纳20GB的不压缩数据,但是具有更高的数据传输能力。

用于备份的Tar

备份工具Tar是先前备份文件的可靠技巧,几乎可以工作于任何环境中,Linux老用户通常都信赖它。Linux中以。tar结尾的文件都是用tar创建的。它的使用超出了单纯的备份,可拿来把许多不同文件放在一起组成一个便于分开的文件。tar是从TapeARchiver备份工具起步的。包含在Linux中的GNUtar工具简便易用,包含了一个拿来压缩的选项,且支持不断降低的备份。tar是一个命令行的工具,没有图形界面。使用Konsole或Kvt打开一个终端窗口,接出来是一个简单的备份命令:

$tarcvf-/home>/temp/backup.tar

这个命令在/tmp目录中创建一个backup.tar的文件,/home目录中所有内容都包含在其中。接出来可以把tar文件拷贝到备份c盘中。使用简单备份时,假若要使用压缩功能,改为下边命令:

$tarczvf-/home>/tmp/backup.tgz

里面扩充名。tgz强调这是一个压缩文件。下一个反例可以拿来直接备份到一个安装好的Jaz驱动器中,但这样做要确定有足够的空间:

$tarczvf/mnt/jaz/backup.tgz-/home

对于一个磁带驱动器,使用设备名称:

$tarczvf/dev/st0/backup.tgz-/home

假如有一个备份特别大,可以使用多卷选项。并且,这样做就不能使用压缩。当第一个c盘或磁带塞满后,tar将提示插入另一张:

$tarcvMf/dev/st0/5mar2000.tar-home

要恢复备份使用下边的命令,以Jazc盘为例:

$tarxzvf/mnt/jaz/5mar2000.tgz/home

表1列举了tar主要功能参数。据悉还有好多可选参数,本文不再深究。

表1

备份工具tar可以用crontab工具设置成基于时间的有规律地运行。诸如,每天2点把/home目录备份到SCSI磁带驱动器中,只要将下边句子添加到root的crontab中即可:

0002***tarcvf/dev/st0/homefiles.tar-/home

要使用tar来把除/proc目录之外的整个文件系统备份到SCSI磁带设备:

$tar-cpf/dev/st0/--exclude=/proc

在里面的反例中,-c开关表示归档文件正在被创建。-p开关表示我们希望保留文件许可权限,这对良好的备份来说是很关键的。-f开关指向该归档文件的文件名。在本例中,我们使用的是原始磁带设备/dev/st0。/表示我们想要备份的内容。既然我们想要备份整个系统,因而把这个开关指定为根(root)。当把tar指向一个目录(以/结尾)时,它会手动递归。最后,我们排除了/proc目录,由于它没有包含须要保存的任何内容。假如单盒磁带容纳不下这个备份,我们须要添加-M开关(本例中没有显示)以进行多卷备份。

要还原一个或多个文件,可以使用带提取开关(-x)的tar命令:

$tar-xpf/dev/st0-C/

-C/表明我们想要让还原从/开始。-C开关使我们的当前目录不再相关。

您可能会时常使用的另外两个tar命令是-t和-d开关。-t开关列举某个归档文件的内容。-d开关将归档文件的内容与系统上的当前文件作比较。

为易于操作和编辑linux系统应用,您可以将想要归档的文件和目录放进一个文本文件中,之后在命令行通过-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磁带设备)上创建一个新的归档文件,该文件使用gzip格式来压缩,并保留所有文件权限。该归档文件将跨越多个卷。要归档的文件的名称将从TempList文件中提取。

用于备份的Cpio

GNUcpio工具像tar一样从命令提示行启动程序。与tar相比cpio更复杂,而且也更为可靠。由于假如一个tar文件中某处有一个坏块,就不能对备份文件的其它部份进行访问,而使用cpio,只有坏块不能被访问。cpio创建一个称为copy-outmode的备份linux 备份文件命令,备份存档中包含了文件和所有者、时间及访问许可等信息。cpio须要一个假设要备份的文件列表。创建列表的一个最便捷的方式就是使用ls命令。诸如,要把/home目录备份到SCSI磁带设备中,输入下边的命令:

$ls/home|cpio-o>/dev/st0

也可以使用find命令。它包括许多选项可以拿来削减被存档文件的数目。诸如,下边的命令对所有在上一个24小时内更改过的文件进行存档:

$find/home-mtime1-typef-print|cpio-o>/dev/st0

copy-in模式把文件从备份存档中解下来。下边的命令会恢复前两个备份反例中的所有文件:

$cpio-i</dev/st0

你也可以对cpio的备份进行计划,用crontab工具设置成基于任何时间的有规律地运行。诸如,要在晚上2点把/home目录备份到SCSI磁带驱动器中,把下边的句子添加到root的crontab文件中即可:

0002***ls/home|cpio-o>/dev/st0

Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复