压缩工具和整盘备份工具dd
一、使用gzip压缩文件
gzip是GNU zip的缩写。
【命令格式】
gzip [option] filename
【常用选项】
c:压缩后将结果输出到标准输出,并保留原始文件。
d:解压缩文件。
l:显示压缩文件的详细信息。
r:递归地处理目录下的所有文件及子目录,或递归地解压缩文件内的目录和子目录。
v:显示命令的执行过程。
t:测试压缩文件。
num:num为数字1-9,代表压缩时使用的压缩率。1表示压缩速度最快、压缩率最小,9代表压缩速度最慢、压缩率最大。如果不使用此选项,则默认使用压缩率6.
二、使用bzip2压缩文件
与gzip等大多数压缩工具相比,bzip2的压缩率更高,但速度相对较慢。
【命令格式】
bzip2 [option] filename
【常用选项】
k:压缩、解压缩完成之后,保留原始文件。
d:执行解压缩任务。
t:测试压缩文件的完整性。
num:num为数字1-9,表示压缩率级别。其中1表示压缩率最低、速度最快,9表示压缩率最高、速度最慢。
v:执行时显示执行的详细信息。
三、整盘备份命令dd
dd是一个非常特殊的命令,其作用是从标准输入或文件中读取数据,并按指定的格式转换数据,然后输出。dd命令非常像Windows系统中的分区、磁盘备份工具Ghost。使用这个命令可以备份整个分区、磁盘,并且备份时可以不必关闭系统、卸载文件系统。
【命令格式】
dd <option>
dd命令不需要参数,所有参数都通过选项指定。
【常用选项】
if:指定要读取的文件,默认为标准输入。
of:指定要输出的文件,默认为标准输出。
ibs:指定读取数据时的块大小,默认为512字节。
obs:指定输出数据时的块大小,默认为512字节。
bs:将读取、输出时的块大小一起指定。
count:指定读取的区块数。
【用法示例】
管理员在许多时候都要使用到这个命令,其目的可能是需要备份一个分区、硬盘和软盘等存储设备中的内容,也可能是需要验证某个设置,需要产生一个指定大小的文件等。
(1)有时候管理员需要一个类似于Ghost的工具,备份一个分区甚至是一个磁盘,这时可以使用dd命令来完成。
例如要备份磁盘sda:
[root@localhost test]# dd if=/dev/sda of=/mnt/backup/backup_sda.dd
上面的示例中,dd命令从设备/dev/sda中读取数据,并存放到文件/backup_sda.dd中。
这样磁盘sda中的所有数据都被保存到backup_sda.dd文件内,这些数据包括了磁盘分区表及所有分区和数据等内容。由于磁盘存储的数据可能会有很多,因此命令可能会需要很长时间。
提示:将磁盘备份到文件中时,建议文件名以.dd结尾,以便于文件使用者识别。
(2)恢复磁盘时,只需要将读取和写入的文件进行调换即可。例如要将从/dev/sda中备份的数据恢复到一个新的设备/dev/sdb中:
[root@localhost ~]# dd if=/mnt/backup/backup_sda.dd of=/dev/sdb
dd命令从文件/mnt/backup/backup_sda.dd中读取数据,并将这些数据写入磁盘sdb中。命令执行完成之后设备sda和sdb中的数据将完全相同。
(3)许多时候可能希望能够在备份磁盘分区的同时,压缩备份数据以节省空间,这是可以与gzip等压缩命令一起使用。
例如备份磁盘sda并使用gzip压缩备份数据:
[root@localhost ~]# dd if=/dev/sda | gzip >/mnt/backup/backup_sda.dd.gz
上面示例命令中,命令dd首先从磁盘sda中读取数据,并将这些数据通过管道交给第2个命令gzip。gzip将这些数据压缩之后,通过重定向的方式写入文件backup_sda.dd.gz中。
(4)如果要将使用gzip压缩后的数据恢复到磁盘sdb中,可以反向使用以上命令:
[root@localhost ~]# gzip -dc /mnt/backup/backup_sda.dd.gz | dd of=/dev/sdb
(5)如果两块磁盘都连接到系统,可以直接将一个磁盘中的内容整盘拷贝到另一个磁盘中,将选项if和of的参数换成需要使用的参数即可。
例如要将磁盘sda中的所有数据拷贝到磁盘sdb中:
[root@localhost ~]# dd if=/dev/sda of=/dev/sdb
(6)利用dd命令能直接读写块设备,还可以制作光盘镜像。例如为当前光驱中的光盘制作光盘镜像,并将 光盘镜像命名为linux.iso:
[root@localhost ~]# dd if=/dev/cdrom of=/mnt/backup/linux.iso
(7)许多时候管理员需要产生一个指定大小的文件,其目的可能是验证一些配置(例如磁盘配额),也可能是测试磁盘、阵列的读写速度等。这是可以使用dd命令的bs和count选项,指定块大小和块数量。
例如产生一个5GB的文件放置在当前目录下,并将其命名为test.5G:
[root@localhost ~]# dd if=/dev/zero of=test.5G bs=1M count=5120
注意:在上面的命令中用到了一个设备文件/dev/zero,这是一个非常特殊的设备文件,zero设备的功能是无限制地提供数据0.
(8)许多时候,磁盘上存放了相当机密的数据,当磁盘报废或者做其他用途时,删除数据和格式化磁盘都无法保证这些数据不被泄露。此时可以使用随机数据填充磁盘的方式销毁磁盘上的数据。
例如要销毁磁盘sdc上的数据:
[root@localhost ~]# dd if=/dev/urandom of=/dev/sdc
(9)在Linux系统中,要备份磁盘的分区表,可以不用其他工具,使用dd命令就可以轻松完成这个工作:
[root@localhost ~]# dd if=/dev/sda of=image count=1 bs=512
上面这个命令,会备份磁盘/dev/sda的前512个字节(分区表保存在磁盘的前512字节中),保存到当前目录下并命名为image。
(10)要从已经备份的文件image中恢复分区表:
[root@localhost ~]# dd if=image of=/dev/sda
注意:虽然dd命令备份数据时允许硬盘正在使用,但通常应该停止使用磁盘或以只读方式挂载磁盘,以免出现文件不一致的情况。
压缩工具和整盘备份工具dd的更多相关文章
- Linux其他常见压缩备份工具 - dd,cpio
dd dd 可以读取磁碟装置的内容(几乎是直接读取磁区"sector"),然后将整个装置备份成一个文件呢!真的是相当的好用啊- dd 的用途有很多啦-但是我们仅讲一些比较重要的选项 ...
- linux dd命令参数及用法详解---用指定大小的块拷贝一个文件(也可整盘备份)
linux dd命令参数及用法详解---用指定大小的块拷贝一个文件 日期:2010-06-14 点击:3830 来源: 未知 分享至: linux dd命令使用详解 dd 的主要 ...
- dump、cpio、tar、dd四种备份工具比较
原文 http://blog.csdn.net/ether_lai/article/details/12656219 dump dump可执行文件系统增量备份的存储操作 ,dump 可将目录或整个文 ...
- [转]Linux/Unix系统镜像/备份/恢复 (dd 命令使用)
ref: http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=22561912&id=156879 开源系统默认安装了一个d ...
- Linux 备份工具
Linux 备份工具 GNU 的传统备份工具 GNU tar — http://www.gnu.org/software/tar/ GNU cpio — http://www.gnu.org/so ...
- 磁盘备份工具dcfldd
磁盘备份工具dcfldd dcfldd是Kali Linux自带的一款磁盘备份工具.该工具是dd工具的增强版,更适合渗透测试和安全领域.dcfldd提供实时哈希校验功能,确保数据的安全.同时,它还 ...
- Linux下压缩工具gzip和归档工具tar及其实战shell应用
Linux下压缩工具gzip和归档工具tar及其实战shell应用 第一章:gzip的使用技巧 gzip [option]... file... -d: 解压缩,相当于gunzip; -# ...
- SQLSERVER自动定时(手动)备份工具
最近项目需要,写了一个小工具软件: 1.实时显示监控 2.可多选择备份数据库 3.按每天定时备份 4.备份文件自动压缩 5.删除之前备份文件 直接上图 1.备份监控界面: 2.数据库设置: 附工具下载 ...
- MySQL 5.7 mysqlpump 备份工具说明
背景: MySQL5.7之后多了一个备份工具:mysqlpump.它是mysqldump的一个衍生,mysqldump就不多说明了,现在看看mysqlpump到底有了哪些提升,可以查看官方文档,这里针 ...
随机推荐
- Bluebird-Core API (三)
Promise.join Promise.join( Promise<any>|any values..., function handler ) – -> Promise For ...
- python中基于descriptor的一些概念
python中基于descriptor的一些概念(上) 1. 前言 2. 新式类与经典类 2.1 内置的object对象 2.2 类的方法 2.2.1 静态方法 2.2.2 类方法 2.3 新式类(n ...
- 30个有关Python的小技巧
从我开始学习python的时候,我就开始自己总结一个python小技巧的集合.后来当我什么时候在Stack Overflow或者在某个开源软件里看到一段很酷代码的时候,我就很惊讶:原来还能这么做!,当 ...
- python日志模块logging
python日志模块logging 1. 基础用法 python提供了一个标准的日志接口,就是logging模块.日志级别有DEBUG.INFO.WARNING.ERROR.CRITICAL五种( ...
- c++ List、Vector、Stack、Queue使用
一.List使用 引入头文件#include <list> List基本函数Lists将元素按顺序储存在链表中. 与 向量(vectors)相比, 它允许快速的插入和删除,但是随机访问却比 ...
- WPF 简介
简介 一. WPF产生的背景 因为人们的生活水平不断提前,审美观也随着提升,而软件的应用发展水平目前无法赶上大家的审美观和使用要求:比如:像电影中的软件能够方便的使用,而且有动态的效果同时附加形象 ...
- 怎么从sqlserver 数据库导出 insert 的数据语句
In SSMS in the Object Explorer, right click on the database right-click and pick "Tasks" a ...
- gradle gradlew 的使用
jcenter() 仓库比 mavenCentral() 仓库快,因此最好将jcenter 放前面,这样下载速度最快. 使用本地软件仓库:repositories { flatDir { dirs ' ...
- 转】使用kaptcha生成验证码
原博文出自于: http://www.cnblogs.com/xdp-gacl/p/4221848.html 感谢! kaptcha是一个简单好用的验证码生成工具,通过配置,可以自己定义验证码大小.颜 ...
- sql数据库delete删除后怎么恢复,这是网上找的答案。。希望大神验证指教一下
使用Log Explorer查看和恢复数据 Log Explorer 4.1.可用于SQL Server2005的日志查看工具 下载地址: http://download.csdn.net/sourc ...