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 不是基于文件的,因此您只能使用它来将数据还原到完全相同的硬盘驱动器分区。
dump、cpio、tar、dd四种备份工具比较的更多相关文章
- 学会4种备份MySQL数据库(基本备份方面没问题了)
前言 我们试着想一想, 在生产环境中什么最重要?如果我们服务器的硬件坏了可以维修或者换新, 软件问题可以修复或重新安装, 但是如果数据没了呢?这可能是最恐怖的事情了吧, 我感觉在生产环境中应该没有什么 ...
- MySQL 5.7 mysqlpump 备份工具说明
背景: MySQL5.7之后多了一个备份工具:mysqlpump.它是mysqldump的一个衍生,mysqldump就不多说明了,现在看看mysqlpump到底有了哪些提升,可以查看官方文档,这里针 ...
- MySQL 5.7 新备份工具mysqlpump 使用说明 - 运维小结
之前详细介绍了Mysqldump备份工具使用,下面说下MySQL5.7之后新添加的备份工具mysqlpump.mysqlpump是mysqldump的一个衍生,mysqldump备份功能这里就不多说了 ...
- mysql备份工具 :mysqldump mydumper Xtrabackup 原理
备份是数据安全的最后一道防线,对于任何数据丢失的场景,备份虽然不一定能恢复百分之百的数据(取决于备份周期),但至少能将损失降到最低.衡量备份恢复有两个重要的指标:恢复点目标(RPO)和恢复时间目标(R ...
- Linux其他常见压缩备份工具 - dd,cpio
dd dd 可以读取磁碟装置的内容(几乎是直接读取磁区"sector"),然后将整个装置备份成一个文件呢!真的是相当的好用啊- dd 的用途有很多啦-但是我们仅讲一些比较重要的选项 ...
- Linux完整备份工具 - dump, restore(现在基本不用这两个)
dump 其实 dump 的功能颇强,他除了可以备份整个文件系统之外,还可以制定等级喔!什么意思啊! 假设你的 /home 是独立的一个文件系统,那你第一次进行过 dump 后,再进行第二次 dump ...
- tar备份工具
一.tar命令的基本格式 在UNIX.Linux系统中,有许多命令可以用于备份数据,其中最常见的命令是tar命令..tar是UNIX和Linux系统中的打包工具,可以将多个文件或目录打包(也称为归档) ...
- Linux 备份工具dump
dump的功能很强,除了可以备份整个文件外,还能够针对目录来备份,还可以指定等级.什么意思呢?假设你的/home是独立的一个 文件系统,那你第一次进行过dump后,再进行第二次dump时,可以指定不同 ...
- 攻城狮在路上(叁)Linux(二十九)--- 完整备份工具:dump以及restore
一.dump命令: 该命令既可以针对整个文件系统进行备份,也可以仅针对目录来备份.还可以指定不同的备份等级(-0~-9共10个等级). dump -W:列出在/etc/fstab中具有dump设置的分 ...
随机推荐
- 【转】Kafka实战-Flume到Kafka
Kafka实战-Flume到Kafka Kafka 2015-07-03 08:46:24 发布 您的评价: 0.0 收藏 2收藏 1.概述 前面给大家介绍了整个Kafka ...
- systemctl 取代 service
要使用systemd, linux内核版本要高于: 2.6.39 systemctl的命令格式: systemctl 动作命令(如start stop restart status) 服务名称.ser ...
- JS刷新页面总和!多种JS刷新页面代码!
1)<meta http-equiv="refresh"content="10;url=跳转的页面">10表示间隔10秒刷新一次2)<scri ...
- shell学习之路:重定向符号的使用
http://note.youdao.com/share/?id=096963bf2a0862fd338919d781636be2&type=note 快捷键:
- php 快速排序法
function quicksort(array $arr = array()){ $len = count($arr); if ($len > 1) { $key = $arr[0]; $l_ ...
- flask 知识点总结
============================request对象的常用属性============================具体使用方法如下:request.headers, requ ...
- 字符编码-UNICODE,GBK,UTF-8区别【转转】
字符编码介绍及不同编码区别 今天看到这篇关于字符编码的文章,抑制不住喜悦(总结的好详细)所以转到这里来.转自:祥龙之子http://www.cnblogs.com/cy163/archive/2007 ...
- 安卓自动化测试(2)Robotium环境搭建与新手入门教程
Robotium环境搭建与新手入门教程 准备工具:Robotium资料下载 知识准备: java基础知识,如基本的数据结构.语法结构.类.继承等 对Android系统较为熟悉,了解四大组件,会编写简单 ...
- Nginx初学者指南
Starting, Stopping, and Reloading Configuration To start nginx, run the executable file. Once nginx ...
- JAVA操作Oracle数据库中的事务
实验1: create table yggz(code int, salary number(7,2)); insert into yggz values(1, 1000); insert into ...