dump、cpio、tar、dd四种备份工具比较

原文  http://blog.csdn.net/ether_lai/article/details/12656219

dump

dump可执行文件系统增量备份的存储操作 ,dump 可将目录或整个文件系统备份至指定的设备,或备份成一个大文件。dump 可以执行类似 tar 的功能。然而, dump 倾向于考虑文件系统而不是个别的文件 。

配合 dump 的程序是 restore ,它用于从转储映像还原文件。 
restore 命令执行转储的逆向功能。可以首先还原文件系统的完全备份,而后续的增量备份可以在已还原的完全备份之上覆盖。可以从完全或部分备份中还原单独的文件或者目录树。

dump 和 restore 都能在网络上进行备份 ,因此您可以通过远程设备进行备份或还原。 dump 和 restore 使用磁带驱动器和提供广泛选项的文件设备。然而, 两者都仅限用于 ext2 和 ext3 文件系统。如果使用的是 JFS、Reiser 或者其他文件系统,您将需要其他的实用工具,比如 tar 。

cpio

如果没有 dump 指令或者 dump 版本不符所需, 则 cpio 是您的下一个好选择。cpio 比其它备份工具存在的时间久,且具有一些其它工具所缺乏的重要特性。

dump 有而 cpio 无 :

◆无需使用find命令搭配; 
◆备份完后不改变资料的atime及ctime; 
◆以互动方式执行资料恢复,如restore的选项-i。 
cpio 是一个非常有用的备份工具,它最大的不同处,是 可以备份从标准输入( stdin )而来的的档案 。 目前有些新版的 tar 支持 从标准输入来的档案备份,但大部份尚未有此功能。 
为什么cpio较不常被使用?

cpio有时支持 I 及 O;有的版本则无。如果将 cpio 每种版本的选项累计,则有近 40 个选项, 甚至有些使用同一字母的参数,在不同版本的 Unix 有不同的意义。 但您只要使用在大部份平台皆标准的选项,那么,cpio 几乎与 tar 一般简单好用。

tar 
如果需要定期备份整个作业系统,dump 可能是最好的选择。其次是 cpio, 因为它 与 find 搭配 执行变动备份 ( incremental backup )。如果您像大部份的人一般,只为了将资料做一次完整的备份,那么就不需要定期或变动备份等功能。 例如,您可能希望快速地备份使用者 /home 目录。您可能想要删除使用者的一大群目录与档案, 但唯一可让使用者接受的备份方式,是将其资料全部写入 磁带或光盘内储存并交给他。 因此您不在乎 atime, 不需定期做变动备份, 只希望将一堆资料放到备份媒体上,而且也希望他人可以很容易地将资料从备份中取出, 在这种情况下,tar 会是最佳选择,且tar支持gzip与bzip2的压缩 。 
cpio 有而大部份的 tar 无 ( GNU tar 没有这些限制),例如: 
◆可以备份来自stdin的档案; 
◆当备份完成时重新设定档案的atime,尽管这会改变其ctime。

dd

大部份的人不常使用 dd 来作备份, 它是一个相当低级的指令, 可将资讯内涵的每个比特( bit )原封不动地从一个地方搬到另一个地方, 它不管也无需知道备份资料的结构。 dd可备份分区或磁盘或其中部分, 因为dd可读取磁盘的扇区表面的数据,因此不同于 dump,tar, 及 cpio,  它不可以拷贝一群文件至储存媒体 , 只可以拷贝一个文件或一个文件的部份 , 甚至可以在资料修改中途将资料 从标准输入( stdin )拷贝至标准输出(stdout ) 。即使 dd 可以拷贝单一档案,但其对文件或文件内容是一无所知的, 它纯粹只是从一个地方搬运文件的比特内容至另一个地方而已。

dd 是一个文件系统复制实用工具,它产生文件系统的二进制副本 。dd 还可用于产生硬盘驱动器的映像,类似于使用诸如 Symantec 的 Ghost 这样的产品。然而,dd 不是基于文件的,因此您只能使用它来将数据还原到完全相同的硬盘驱动器分区。

时间: 2024-08-29 21:04:45

dump、cpio、tar、dd四种备份工具比较的相关文章

MySQL的几种备份工具

mysql备份和恢复 注意:备份不成功的原因可能是版本不一样,需执行命令#cp /usr/local/mysql/bin/mysqldump|mysqlhotcop|mysqlimport  /usr/local/bin/ (1)mysqldump备份工具 备份数据库下的表 # mysqldump -u root -paixocm --opt test c01 c02 c03 > /employees.sql         \\备份 # mysql -u root -paixocm --dat

学会4种备份MySQL数据库(基本备份方面没问题了)

前言 我们试着想一想, 在生产环境中什么最重要?如果我们服务器的硬件坏了可以维修或者换新, 软件问题可以修复或重新安装, 但是如果数据没了呢?这可能是最恐怖的事情了吧, 我感觉在生产环境中应该没有什么比数据跟更为重要. 那么我们该如何保证数据不丢失.或者丢失后可以快速恢复呢?只要看完这篇, 大家应该就能对MySQL中实现数据备份和恢复能有一定的了解. 为什么需要备份数据? 其实在前言中也大概说明了为什么要备份数据, 但是我们还是应该具体了解一下为什么要备份数据 在生产环境中我们数据库可能会遭遇各

linux服务器备份工具(tar,cpio,dump)

Linux下的备份技术 1.备份前因考虑的因素 ● 可移植性(即在Red Hat Linux系统下执行的备份在另外一个系统上恢复的能力). ● 是否自动备份. ● 执行备份的周期. ● 需要把归档的备份保存多长时间. ● 用户界面的友好性(决定是否需要选择基于GUI界面的工具还是基于文本的). ● 是否需要使用压缩技术.直接复制或者加密技术. ● 备份介质(需要从价格.性能.存储能力上考虑). ● 是否远程备份或网络备份. ● 是保存一个文件.一个子目录还是整个系统. 2.备份选择的策略 需要确

完整备份工具dump介绍

某些时刻你想要针对文件系统进行备份或者是储存的功能时,不能不谈到这个 dump 命令! 这玩意儿我们曾在前一章的 /etc/fstab 里面稍微谈过. 其实这个命令除了能够针对整个 filesystem 备份之外,也能够仅针对目录来备份喔! 底下就让我们来谈一谈这个命令的用法吧! dump 其实 dump 的功能颇强,他除了可以备份整个文件系统之外,还可以制定等级喔!什么意思啊! 假设你的 /home 是独立的一个文件系统,那你第一次进行过 dump 后,再进行第二次 dump 时, 你可以指定

Linux完整备份工具 - dump, restore(现在基本不用这两个)

dump 其实 dump 的功能颇强,他除了可以备份整个文件系统之外,还可以制定等级喔!什么意思啊! 假设你的 /home 是独立的一个文件系统,那你第一次进行过 dump 后,再进行第二次 dump 时, 你可以指定不同的备份等级,假如指定等级为 1 时,此时新备份的数据只会记录与第一次备份所有差异的文件而已. 看不懂吗?没关系!我们用一张简图来说明. 如上图所示,上方的『即时文件系统』是一直随著时间而变化的数据,例如在 /home 里面的文件数据会一直变化一样. 而底下的方块则是 dump

攻城狮在路上(叁)Linux(二十九)--- 完整备份工具:dump以及restore

一.dump命令: 该命令既可以针对整个文件系统进行备份,也可以仅针对目录来备份.还可以指定不同的备份等级(-0~-9共10个等级). dump -W:列出在/etc/fstab中具有dump设置的分区是否备份过. 命令格式: dump [-Suvj] [-level] [-f 备份文件] 待备份数据 参数说明: -S:仅列出后面的待备份数据所需要的磁盘空间大小. -u:将这次dump的时间记录到/etc/dumpdates文件中. -v:将dump的文件过程显示出来. -j:加入bzip2的支

Linux 备份工具dump

dump的功能很强,除了可以备份整个文件外,还能够针对目录来备份,还可以指定等级.什么意思呢?假设你的/home是独立的一个 文件系统,那你第一次进行过dump后,再进行第二次dump时,可以指定不同的等级,如果指定的等级为1,此时设备的数据只会记录与第一次 备份有所差异的文件而已. 上方的“实时文件系统”是一直随着时间变化的数据,例如在/home里面的文件数据会一直变化.而下方的方块则是dump备份起来的数据,第一次 备份时使用的是level0,这个等级也是完整的备份,等到第二个备份时,实时文

四种java代码静态检查工具

[转载]常用 Java 静态代码分析工具的分析与比较 转载自 开源中国社区 http://www.oschina.net/question/129540_23043 1月16日厦门 OSC 源创会火热报名中,奖品多多哦 »   简介: 本文首先介绍了静态代码分析的基本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代码分析工具 (Checkstyle,FindBugs,PMD,Jtest),最后从功能.特性等方面对它们进行分析和比较,希望能够帮助 Java 软件开发人员了解静态代码

sas数据读取详解 四种读取数据方式以及数据指针的位置 、读取mess data的两个小工具、特殊的读取技巧、infile语句及其选项(dsd dlm missover truncover obs firstobs)、proc import、自定义缺失值

(The record length is the number of characters, including spaces, in a data line.) If your data lines are long, and it looks like SAS is not reading all your data, then use the LRECL= option in the INFILE statement to specify a record length at least