百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

tar、dd、dump、restore实现数据备份和恢复

toyiye 2024-07-06 00:25 15 浏览 0 评论

这章节主要介绍Linux或ubuntu系统下主要提供的两个存档工具,tar与dd。

tar

直接保存数据会占用很大的空间,所以为节省存储空间,tar使用文件打包的命令行工具,压缩这个名词相信大家都已经知道了,这里不再赘述,直入正题。

  • 打包

tar -czvf 打包文件名 源文件

选项:

-c: 打包

-z:压缩

-v: 显示打包过程

-f: 指定打包后的文件名

例如:

tar -czvf text.tar img1

#打包到指定目录

tar czvf test.tar *.txt -C /home/work

  • 解打包

tar -xzvf 打包文件名

选项:

-x: 解打包

例如:

tar -xvf img1.tar

dd

dd是一个文件转移命令,dd 是 Linux/UNIX 下的一个非常有用的命令,作用是用指定大小地块复制文件,并在拷贝的同时进行指定的转换和格式处理。

1. 命令简介

dd 的主要选项:

指定数字的地方若以下列字符结尾乘以相应的数字:

b=512, c=1, k=1024, w=2, xm=number m

if=file :输入文件名,缺省为标准输入。

of=file :输出文件名,缺省为标准输出。

ibs=bytes

一次读入 bytes 个字节(即一个块大小为 bytes 个字节)。

obs=bytes

一次写 bytes 个字节(即一个块大小为 bytes 个字节)。

bs=bytes

同时设置读写块的大小为 bytes ,可代替 ibs 和 obs 。

cbs=bytes

一次转换 bytes 个字节,即转换缓冲区大小。

skip=blocks

从输入文件开头跳过 blocks 个块后再开始复制。

seek=blocks

从输出文件开头跳过 blocks 个块后再开始复制。(通常只有当输出文件是磁盘或磁带时才有效)。

count=blocks

仅拷贝 blocks 个块,块大小等于 ibs 指定的字节数。

conv=conversion[,conversion...]

用指定的参数转换文件。

  • 备份:

dd if=/dev/A of=/dev/B

将本地的/dev/A整盘备份到/dev/B,一般是用来拷贝镜像。

当然,这部分if和of跟的也是具体的path路径。

dd if=/dev/hdx | gzip >/path/to/image.gz

备份/dev/hdx全盘数据,并利用gzip工具进行压缩,保存到指定路径

恢复:

dd if=/path/to/image of=/dev/hdx

将备份文件恢复到指定盘

gzip -dc /path/to/image.gz | dd of=/dev/hdx

将压缩的备份文件恢复到指定盘

  • 磁盘管理

得到最恰当的block size

dd if=/dev/zero bs=1024 count=1000000 of=/root/1Gb.file

dd if=/dev/zero bs=2048 count=500000 of=/root/1Gb.file

dd if=/dev/zero bs=4096 count=250000 of=/root/1Gb.file

dd if=/dev/zero bs=8192 count=125000 of=/root/1Gb.file

通过比较dd指令输出中所显示的命令执行时间,即可确定系统最佳的block size大小

2.4.2测试硬盘读写速度

dd if=/root/1Gb.file bs=64k | dd of=/dev/null

dd if=/dev/zero of=/root/1Gb.file bs=1024 count=1000000

通过上两个命令输出的执行时间,可以计算出测试硬盘的读/写速度

dump与restore

dunp是一个比较装专业的备份工具,可以备份任何类型的文件,ubuntu默认是没有安装dump和restore两个工具的,可分别执行sudo apt-get install dump和sudo apt-get install restore

  1. 使用dump命令备份

在使用dump进行备份时候,需要指定设定一个级别,它是0-9之间的数字,级别为0是完全备份,通过这种方式可以很轻松的实现增量备份,差异备份,甚至每日备份。

当然,在备份之前,你是不是得知道完全备份所需的空间吧,以防止磁盘或者磁带空间不足的问题,举个例子:

sudo dump -0s /dev/sda1

这里的0代表的是完全备份,s代表的是统计备份所需空间。

-f 指定文件的路径和名称

-u 表示更新数据库文件/etc/dumpdates

dump -0u -f /path/text.dump /boot

  1. 增量与差异备份操作
  • 增量备份

dump -0u -f /tmp/boot0.dump /boot 完全备份

dump -1u -f /tmp/boot1.dump /boot 级别1

dump -2u -f /tmp/boot2.dump /boot 级别2

dump -3u -f /tmp/boot3.dump /boot 级别3

  • 差异备份

dump -0u -f /tmp/boot0.dump /boot 完全备份

dump -1u -f /tmp/boot1.dump /boot 级别1

dump -1u -f /tmp/boot2.dump /boot 级别1

dump -1u -f /tmp/boot3.dump /boot 级别1

我估计这个程序应该你就比较清楚的明白什么是增量备份与差异备份。

  1. restore

利用restore去恢复dump备份的文件有两种方式

交互模式和直接恢复

恢复数据之前要浏览备份文件中的数据,可以使用以下命令,(-t选项表示查看)

restore -tf /tmp/boot.dump

要恢复一个备份,可以使用以下命令(-r选项表示重建)

restore -rf /tmp/boot.dump

使用以下命令进入交互式恢复模式

restore -if /tmp/boot.dump

今天就到这,下一章我会跟大家分享常见的linux系统软件包管理。

就是常用的apt-get 数据源等内容笔记。


欢迎点赞,收藏,关注。

#程序员##Linux##数据备份##知识分享##科技#

相关推荐

为何越来越多的编程语言使用JSON(为什么编程)

JSON是JavascriptObjectNotation的缩写,意思是Javascript对象表示法,是一种易于人类阅读和对编程友好的文本数据传递方法,是JavaScript语言规范定义的一个子...

何时在数据库中使用 JSON(数据库用json格式存储)

在本文中,您将了解何时应考虑将JSON数据类型添加到表中以及何时应避免使用它们。每天?分享?最新?软件?开发?,Devops,敏捷?,测试?以及?项目?管理?最新?,最热门?的?文章?,每天?花?...

MySQL 从零开始:05 数据类型(mysql数据类型有哪些,并举例)

前面的讲解中已经接触到了表的创建,表的创建是对字段的声明,比如:上述语句声明了字段的名称、类型、所占空间、默认值和是否可以为空等信息。其中的int、varchar、char和decimal都...

JSON对象花样进阶(json格式对象)

一、引言在现代Web开发中,JSON(JavaScriptObjectNotation)已经成为数据交换的标准格式。无论是从前端向后端发送数据,还是从后端接收数据,JSON都是不可或缺的一部分。...

深入理解 JSON 和 Form-data(json和formdata提交区别)

在讨论现代网络开发与API设计的语境下,理解客户端和服务器间如何有效且可靠地交换数据变得尤为关键。这里,特别值得关注的是两种主流数据格式:...

JSON 语法(json 语法 priority)

JSON语法是JavaScript语法的子集。JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JS...

JSON语法详解(json的语法规则)

JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组注意:json的key是字符串,且必须是双引号,不能是单引号...

MySQL JSON数据类型操作(mysql的json)

概述mysql自5.7.8版本开始,就支持了json结构的数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点。但mysql毕竟是关系型数据库,在处理json这种非结构化的数据...

JSON的数据模式(json数据格式示例)

像XML模式一样,JSON数据格式也有Schema,这是一个基于JSON格式的规范。JSON模式也以JSON格式编写。它用于验证JSON数据。JSON模式示例以下代码显示了基本的JSON模式。{"...

前端学习——JSON格式详解(后端json格式)

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLa...

什么是 JSON:详解 JSON 及其优势(什么叫json)

现在程序员还有谁不知道JSON吗?无论对于前端还是后端,JSON都是一种常见的数据格式。那么JSON到底是什么呢?JSON的定义...

PostgreSQL JSON 类型:处理结构化数据

PostgreSQL提供JSON类型,以存储结构化数据。JSON是一种开放的数据格式,可用于存储各种类型的值。什么是JSON类型?JSON类型表示JSON(JavaScriptO...

JavaScript:JSON、三种包装类(javascript 包)

JOSN:我们希望可以将一个对象在不同的语言中进行传递,以达到通信的目的,最佳方式就是将一个对象转换为字符串的形式JSON(JavaScriptObjectNotation)-JS的对象表示法...

Python数据分析 只要1分钟 教你玩转JSON 全程干货

Json简介:Json,全名JavaScriptObjectNotation,JSON(JavaScriptObjectNotation(记号、标记))是一种轻量级的数据交换格式。它基于J...

比较一下JSON与XML两种数据格式?(json和xml哪个好)

JSON(JavaScriptObjectNotation)和XML(eXtensibleMarkupLanguage)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...

取消回复欢迎 发表评论:

请填写验证码