Linux下备份恢复技术的应用
程序员文章站
2022-03-07 22:20:25
本文讲述Linux环境下,如何使用备份的脚本和命令以及商业化的软件来合理高效地保护磁盘数据安全。
备份与恢复系统承担着事前备份与事后恢复的职能。在当前高速发展的网络环... 09-03-10...
本文讲述linux环境下,如何使用备份的脚本和命令以及商业化的软件来合理高效地保护磁盘数据安全。
备份与恢复系统承担着事前备份与事后恢复的职能。在当前高速发展的网络环境下,任何一个网络上的信息 系统都不可能保证绝对的安全。只要有网络存在,就会有来自网络的形形色色的威胁。为了抵御网络的攻击和入侵,虽然我们引入了日趋成熟的入侵检测系统、防火墙系统等,黑客们的入侵手段也日益高明,他们总能找到这些系统的安全漏洞及不足进行入侵,因而网络入侵所引起的安全事件呈逐年增加之势。
在这种情况下,我们难以保证网络中关键系统的绝对安全,因而就需要采用备份及恢复技术。备份及恢复技术就是使用存储介质和一定的策略,定期将系统业务数据备份下来,以保证数据意外丢失时能尽快恢复,将用户的损失降到最低点。它是信息安全学科中一种非常重要的核心技术。
linux下的备份技术
对于备份和恢复来说,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目录下的所有数据还原到磁盘)
另外,现在市场上还存在着诸如tivoli storage manager之类的商业化存储备份工具,这些都是可视化的工具,用户可以方便地通过用户界面来实现备份与恢复。值得注意的是,这是一款商业软件,因而并不是免费的,对于很多用户来说,它所提供的功能与我们上述的linux自带的备份与恢复工具比较相似,只是更加人性化和友好,使用户从枯燥的命令行方式下摆脱出来,从而方便用户使用。
备份需要花费一定量的物力和财力,如何在备份所取得的收益与备份消耗的资源上做一个权衡是网络安全工作者需要考虑的一个大问题,因为支出大于产出也就意味着低效甚至失败。所以在linux环境中进行数据备份,需要根据实际情况进行区分对待,以取得比较好的效果。特别是,需要对一些关键的目录进行区分,从而做到有针对性的备份,减少不必要的浪费。
一般情况下,以下所列目录是需要备份的,它们在系统中具有举足轻重的地位:/etc包含所有核心配置文件,这其中包括密码文件、网络配置文件、系统名称、防火墙规则、nfs文件系统配置文件以及其他全局系统项;/var包含系统守护进程(服务)所使用的信息,包括 dns 配置、dhcp 租期、邮件缓冲文件、http 服务器文件等;/home包含所有用户的默认用户主目录,这包括他们的个人设置、已下载的文件和用户存放在系统中的重要的信息;/root是根(root)用户的主目录;/bin是存放许多系统中常用的诸如ls、ps等命令的重要场所,这些命令在磁盘上均有影响,极容易遭受黑客的破坏。
相反地,在linux系统中,如下目录是不应该备份的:/proc永远不需要备份,它不是一个真实的文件系统,而是运行内核和环境的虚拟化视图,它包括诸如 /proc/cpuinfo、/proc/meminfo 这样的文件,这个文件是整个运行内存的虚拟视图,一旦系统关机或者重新启动,该目录下的信息便不复存在;/dev包含硬件设备的文件表示,如果计划还原到一个空白的系统,那就可以备份 /dev,如果计划还原到一个已安装的linux系统,那么备份/dev 是没有必要的;另外,一些软链接(也就是指向另外一些磁盘文件的文件)是不需要备份的,因为这些文件当中存储的只是被指向文件的地址,这些软链接文件,用户可以通过使用“ls -l”命令来判定,如下所示,其中linux-2.4即为一个软链接文件,它指向的是linux-2.4.7-10这个目录。
备份与恢复系统承担着事前备份与事后恢复的职能。在当前高速发展的网络环境下,任何一个网络上的信息 系统都不可能保证绝对的安全。只要有网络存在,就会有来自网络的形形色色的威胁。为了抵御网络的攻击和入侵,虽然我们引入了日趋成熟的入侵检测系统、防火墙系统等,黑客们的入侵手段也日益高明,他们总能找到这些系统的安全漏洞及不足进行入侵,因而网络入侵所引起的安全事件呈逐年增加之势。
在这种情况下,我们难以保证网络中关键系统的绝对安全,因而就需要采用备份及恢复技术。备份及恢复技术就是使用存储介质和一定的策略,定期将系统业务数据备份下来,以保证数据意外丢失时能尽快恢复,将用户的损失降到最低点。它是信息安全学科中一种非常重要的核心技术。
linux下的备份技术
对于备份和恢复来说,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目录下的所有数据还原到磁盘)
另外,现在市场上还存在着诸如tivoli storage manager之类的商业化存储备份工具,这些都是可视化的工具,用户可以方便地通过用户界面来实现备份与恢复。值得注意的是,这是一款商业软件,因而并不是免费的,对于很多用户来说,它所提供的功能与我们上述的linux自带的备份与恢复工具比较相似,只是更加人性化和友好,使用户从枯燥的命令行方式下摆脱出来,从而方便用户使用。
备份需要花费一定量的物力和财力,如何在备份所取得的收益与备份消耗的资源上做一个权衡是网络安全工作者需要考虑的一个大问题,因为支出大于产出也就意味着低效甚至失败。所以在linux环境中进行数据备份,需要根据实际情况进行区分对待,以取得比较好的效果。特别是,需要对一些关键的目录进行区分,从而做到有针对性的备份,减少不必要的浪费。
一般情况下,以下所列目录是需要备份的,它们在系统中具有举足轻重的地位:/etc包含所有核心配置文件,这其中包括密码文件、网络配置文件、系统名称、防火墙规则、nfs文件系统配置文件以及其他全局系统项;/var包含系统守护进程(服务)所使用的信息,包括 dns 配置、dhcp 租期、邮件缓冲文件、http 服务器文件等;/home包含所有用户的默认用户主目录,这包括他们的个人设置、已下载的文件和用户存放在系统中的重要的信息;/root是根(root)用户的主目录;/bin是存放许多系统中常用的诸如ls、ps等命令的重要场所,这些命令在磁盘上均有影响,极容易遭受黑客的破坏。
相反地,在linux系统中,如下目录是不应该备份的:/proc永远不需要备份,它不是一个真实的文件系统,而是运行内核和环境的虚拟化视图,它包括诸如 /proc/cpuinfo、/proc/meminfo 这样的文件,这个文件是整个运行内存的虚拟视图,一旦系统关机或者重新启动,该目录下的信息便不复存在;/dev包含硬件设备的文件表示,如果计划还原到一个空白的系统,那就可以备份 /dev,如果计划还原到一个已安装的linux系统,那么备份/dev 是没有必要的;另外,一些软链接(也就是指向另外一些磁盘文件的文件)是不需要备份的,因为这些文件当中存储的只是被指向文件的地址,这些软链接文件,用户可以通过使用“ls -l”命令来判定,如下所示,其中linux-2.4即为一个软链接文件,它指向的是linux-2.4.7-10这个目录。