第8部分 备份与恢复

  本部分将考察 Linux 系统上的内容同时在考虑到恢复和安全的情况下计划并实现常规备份Linux 是一个稳定而可靠的环境但是任何计算系统都有无法预料的事件比如硬件故障拥有关键配置信息的可靠备份是任何负责任的管理计划的组成部分在 Linux 中可以通过各种各样的方法来执行备份所涉及的技术从非常简单的脚本驱动的方法到精心设计的商业化软件备份可以保存到远程网络设备磁带驱动器和其他可移动媒体上备份可以是基于文件的或基于驱动器映像的可用的选项很多您可以混合搭配这些技术为您的环境设计理想的备份计划

  确定策略

  可以采用许多不同的方法来备份系统所备份的内容很大程度上取决于您备份它们的理由您是否试图从严重的故障(比如硬盘驱动器问题)中恢复?您是否想归档以便能在需要时恢复旧的文件?您计划从一个冷系统和还原着手还是从一个预加载的备用系统着手?

  确定要备份的内容

  在备份和还原系统时Linux 基于文件的性质成了一个极大的优点在 Windows 系统中注册表与系统是非常相关的配置和软件安装不仅仅是将文件放到系统上因此还原系统就需要有能够处理 Windows 这种特性的软件在 Linux 中情况就不一样了配置文件是基于文本的并且除了直接处理硬件时以外它们在很大程度上是与系统无关的硬件驱动程序的现代方法是使它们以动态加载的模块的形式可用这样内核就变得更加与系统无关不同于让备份必须处理操作系统如何安装到系统和硬件上的复杂细节Linux 备份处理的是文件的打包和解包一般情况下以下这些目录是需要备份的

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

·/var包含系统守护进程(服务)所使用的信息包括 DNS 配置DHCP 租期邮件缓冲文件HTTP 服务器文件db 实例配置等等

·/home包含所有用户的默认用户主目录这包括他们的个人设置已下载的文件和用户不希望失去的其他信息

·/root是根(root)用户的主目录

·/opt是安装许多非系统文件的地方IBM 软件就安装在这里OpenOfficeJDK 和其他软件在默认情况下也安装在这里

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

·/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 是与文件系统无关的它可以使用在 extext jfsReiser 和其他文件系统上

  使用 tar 非常类似于使用诸如 PKZip 这样的文件实用工具只需将它指向一个目的(可以是文件或设备)然后指定您想要打包的文件您可以通过标准的压缩类型来动态压缩归档文件或指定一个自己选择的外部压缩程序要通过 bzip 压缩或解压缩文件可使用 tar z 命令要使用 tar 来把除 /proc 目录之外的整个文件系统备份到 SCSI 磁带设备

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

(以防万一 不要忘了 Linux 是区分大小写的例如tar 命令应该总是以小写的形式执行命令行开关可以是大写小写或大小写的混合例如t 和 T 执行不同的功能文件或目录名称可以混合使用大小写而且就像命令和命令行开关一样是区分大小写的)

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

tar xpf /dev/st C /  这里的 f 开关同样指向归档文件p 开关表明我们想要还原归档的权限x 开关表明从归档中提取文件C / 表明我们想要让还原从 / 开始tar 通常还原到运行这个命令的目录C 开关使我们的当前目录不再相关 您可能会经常使用的另外两个 tar 命令是 t 和 d 开关t 开关列出某个归档文件的内容d 开关将归档文件的内容与系统上的当前文件作比较为便于操作和编辑您可以将想要归档的文件和目录放进一个文本文件中然后在命令行通过 T 开关引用这个文本文件这些文件和目录可以与命令行上列出的其他目录结合起来下面的命令行备份 MyFiles 中列出的所有文件和目录/ 根目录和 /tmp 目录中的所有 iso 文件

tar cpf /dev/st T MyFiles /root /tmp/*iso  文件列表只是一个文本文件其中列出文件或目录下面是一个例子

/etc/var/home/usr/local/opt  请注意 tar T(或 filesfrom)命令不能接受通配符文件必须明确地列出上面的例子展示了一种单独地引用文件的方法您还可以执行脚本来搜索系统然后建立一个列表下面就是这样一个脚本的例子

#!/bin/shcat MyFiles > TempListfind /usr/share iname *png >> TempListfind /tmp iname *iso >> TempListtar cpzMf /dev/st T TempList  上面的脚本首先将 MyFiles 中的所有现有文件列表复制到 TempList然后它执行两个 find 命令来搜索文件系统中匹配某个模式的文件并将它们附加到 TempList第一次是搜索 /usr/share 目录树中以 png 结尾的所有文件第二次是搜索 /tmp 目录树中以 iso 结尾的所有文件在建立好列表之后tar 然后在文件设备 /dev/st (第一个 SCSI 磁带设备)上创建 一个新的归档文件该文件使用 gzip 格式来压缩并保留所有文件权限该归档文件将跨越多个卷要归档的文件的名称将从 TempList 文件中提取还可以使用脚本来执行更精细的操作比如增量备份

  也可以编写脚本来还原文件虽然还原通常是手动进行的正如上面提到过的用于提取文件的 x 开关代替了 c 开关可以还原整个归档文件或者还原指定的个别文件或者目录使用通配符来引用归档文件中的文件是可以的还可以使用开关来转储和还原

  dump 和 restore

  dump 可以执行类似 tar 的功能然而dump 倾向于考虑文件系统而不是个别的文件下面是引自 dump 手册文件中的内容dump 检查 ext 文件系统上的文件并确定哪些文件需要备份这些文件将出于安全保护而被复制到给定的磁盘磁带或其他存储媒体上……大于输出媒体容量的转储将被划分到多个卷在大多数媒体上容量是通过一直写入直至返回一个 endofmedia 标记来确定的配合 dump 的程序是 restore它用于从转储映像还原文件restore 命令执行转储的逆向功能可以首先还原文件系统的完全备份而后续的增量备份可以在已还原的完全备份之上覆盖可以从完全或部分备份中还原单独的文件或者目录树dump 和 restore 都能在网络上运行因此您可以通过远程设备进行备份或还原dump 和 restore 使用磁带驱动器和提供广泛选项的文件设备然而两者都仅限用于 ext 和 ext 文件系统如果使用的是 JFSReiser 或者其他文件系统您将需要其他的实用工具比如 tar

  使用 dump 执行备份

  使用 dump 执行备份是相当简单的下面的命令执行一个完全 Linux 备份它把所有 ext 和 ext 文件系统备份到一个 SCSI 磁带设备

dump f /dev/nst /bootdump f /dev/nst /  在这个例子中系统中有两个文件系统一个用于 /boot另一个用于 / 这是常见的配置它们必须在执行备份时单独地引用 /dev/nst 引用第一< 你有没有这样的感觉,坐在一列火车上,

第8部分 备份与恢复

相关文章:

你感兴趣的文章:

标签云: