共计 2258 个字符,预计需要花费 6 分钟才能阅读完成。
Linux 下的备份技术
1、备份前因考虑的因素
● 可移植性 (即在 Red Hat Linux 系统下执行的备份在另外一个系统上恢复的能力)。
● 是否自动备份。
● 执行备份的周期。
● 需要把归档的备份保存多长时间。
● 用户界面的友好性 (决定是否需要选择基于 GUI 界面的工具还是基于文本的)。
● 是否需要使用压缩技术、直接复制或者加密技术。
● 备份介质 (需要从价格、性能、存储能力上考虑)。
● 是否远程备份或网络备份。
● 是保存一个文件、一个子目录还是整个系统。
2、备份选择的策略
需要确定数据备份的策略:确定需备份的内容、备份时间及备份方式。目前主要有 3 中备份策略:
(1)完全备份策略
(2)增量备份策略
(3)差分备份策略
3、确定备份的内容
linux 基于文件的性质为备份和还原系统带来了很大的便利,它们在很大程度上与系统无关,Linux 备份处理的是文件的打包和解包。
一般情况下,以下这些目录是需要备份的:
/etc
包含所有核心配置文件。这其中包括网络配置、系统名称、防火墙规则、用户、组,以及其他全局系统项。
/var
包含系统守护进程(服务)所使用的信息,包括 DNS 配置、DHCP 租期、邮件缓冲文件、HTTP 服务器文件、db2 实例配置,等等。
/home
包含所有用户的默认用户主目录。这包括他们的个人设置、已下载的文件和用户不希望失去的其他信息。
/root
是根(root)用户的主目录。
/opt
是安装许多非系统文件的地方。IBM 软件就安装在这里。OpenOffice、JDK 和其他软件在默认情况下也安装在这里。
有些目录是应该考虑不 备份的。
/proc
应该永远不要备份这个目录。它不是一个真实的文件系统,而是运行内核和环境的虚拟化视图。它包括诸如 /proc/kcore 这样的文件,这个文件是整个运行内存的虚拟视图。备份这些文件只是在浪费资源。
/dev
包含硬件设备的文件表示。如果计划还原到一个空白的系统,那就可以备份 /dev。然而,如果计划还原到一个已安装的 Linux 系统,那么备份 /dev 是没有必要的。
3、备份工具
对于备份和恢复来说,Linux 提供了诸如 tar、cpio、dump 等工具来实现。这样,用户无需花钱购买,便可根据系统的实际情况,结合使用相应的备份恢复工具实现备份与恢复的基本功能。
tar 工具介绍
tar 是一个已移植到 Linux 中的经典 Unix 命令。tar 是 tape archive(磁带归档)的缩写,最初设计用于将文件打包到磁带上,现在我们大都使用它来实现备份某个分区或者某些重要的文件目录。我们使用 tar 可以打包整个目录树,这使得它特别适合用于备份。归档文件可以全部还原,或从中展开单独的文件和目录。备份可以保存到基于文件的设备或磁带设备上。文件可以在还原时重定向,以便将它们重新放到一个与最初保存它们的目录(或系统)不同的目录(或系统)。tar 是与文件系统无关的,因而它的适用范围很广,它可以使用在 ext2、ext3、jfs、Reiser 和其他文件系统上。
使用 tar 非常类似于使用诸如 Windows 环境下的 Winzip、WinRAR 这样的文件实用工具。只需将它指向一个目的(可以是文件或设备),然后指定想要打包的文件,就可以通过标准的压缩类型来动态压缩归档文件,或指定一个自己选择的外部压缩程序。要通过 bzip2 压缩或解压缩文件,可使用 tar - z 命令。
下面是一个简单的使用该工具进行数据备份的例子:
tar czvf – /root/code > /tmp/code_bak.tgz(将 /root/code 目录下的所有程序文件打包备份到 /tmp/code_bak.tgz)
tar xzvf /tmp/code_bak.tgz /root/code(将备份的目录文件恢复到指定目录)
cpio 工具介绍
cpio 命令可以从 tar 或者 cpio 档案文件中拷入或者拷出文件。cpio 命令和 tar 命令兼容,但是这个命令具备一些 tar 命令没有的功能,如下所示:
支持 cpio 和 tar 两种档案文件格式;
支持许多老式磁带数据格式;
能够通过一个管道(pipe-line)读取文件的文件名。
目前看来,只有很少的 Linux 软件包是以 cpio 格式发行的。用户如果对 cpio 命令的详细情况感兴趣,可以通过“man cpio”命令阅读它的使用手册。
dump 和 restore 介绍
dump 可以执行类似 tar 的功能。然而,dump 倾向于考虑文件系统而不是个别的文件。dump 检查 ext2 文件系统上的文件,并确定哪些文件需要备份。这些文件将出于安全保护而被复制到给定的磁盘、磁带或其他存储媒体上。在大多数媒体上,容量是通过一直写入直至返回一个 end-of-media 标记来确定的。
配合 dump 的程序是 restore,它用于从转储映像还原文件。restore 命令执行转储的逆向功能。可以首先还原文件系统的完全备份,而后续的增量备份可以在已还原的完全备份之上覆盖。可以从完全或部分备份中还原单独的文件或者目录树。
dump 和 restore 都能在网络上运行,因此用户可以通过远程设备进行备份或还原。dump 和 restore 使用磁带驱动器和提供广泛选项的文件设备。然而,两者都仅限用于 ext2 和 ext3 文件系统。如果使用的是 JFS、Reiser 或者其他文件系统,将需要其他的实用工具,比如 tar. 举个例子:
dump 0f /dev/nst0 /(将 ext2 文件系统备份到第一个 SCSI 设备)
restore -xf /dev/nst0 /home/code(将备份的 SCSI 设备中的 /home/code 目录下的所有数据还原到磁盘)