Linux备份还原数据(dd)

Linux系统本机备份还原(完整备份)文件、分区、磁盘(dd)

dd命令:备份还原本地文件、分区、磁盘

一、dd命令

1、dd 命令主要用来进行数据备份,并且可以在备份的过程中进行格式转换。其实 dd 命令可以把源数据复制成目标数据,而且不管源数据是文件、分区、磁盘还是光盘,都可以进行数据备份。

2、dd 命令格式如下。
dd if=“输入文件” of=“输出文件” bs=“数据块” count=“数量”

参数说明
ifinput file定义输入数据的文件,也可以是设备。
ofoutput file定义输出数据的文件,也可以是设备。
bs指定一个block数据块的大小,也就是定义一次读取或写入多少字节。若未指定则默认是 512 字节,一个扇区的大小。
count指定 bs 的数量。
conv=标志依据标志转换文件。
conv标志说明
ascii由 EBCDIC 码转换至 ASCII 码。
ebcdic由 ASCII 码转换至 EBCDIC 码。
ibm由 ASCII 码转换至替换的 EBCDIC 码。
block将结束字符块里的换行替换成等长的空格。
unblock将 cbs 大小的块中尾部的空格替换为一个换行符。
lcase将大写字符转换为小写。
notrunc不截断输出文件。
ucase将小写字符转换为大写。
swab交换每一对输入数据字节。
noerror读取数据发生错误后仍然继续。
sync将每个输入数据块以 NUL 字符填满至 ibs 的大小;当配合 block 或 unblock 时,会以空格代替 NUL 字符填充。

二、文件备份为文件,使用备份文件还原文件

1、备份文件(如果备份文件,那么dd命令和cp命令非常类似)。

dd  if=qq.txt  of=qq.txt.bak

2、查看一下生成的备份文件的大小。

ll  -h 

3、删除原文件,还原文件。

rm -rf qq.txt
dd  if=qq.txt.bak   of=qq.txt

4、查看一下还原后的文件的大小。

ll  -h 

在这里插入图片描述

三、分区备份为文件,使用备份文件还原分区

1、查看一下分区容量,我们备份/boot分区。

df -h

2、备份分区为一个备份文件。

dd  if=/dev/sda1   of=/tmp/boot.bak

3、查看生成的备份文件。

ll -h  /tmp/boot.bak

4、备份文件还原分区,则执行以下命令。

dd  if=/tmp/boot.bak    of=/dev/sda1

在这里插入图片描述

四、分区备份为分区,使用备份分区还原分区

1、如果想要把分区直接备份到另一个分区,就需要生成一个新的分区,这个分区的大小不能比源分区小,只能和源分区大小一致或比它大。

2、Linux系统VMware虚拟机添加磁盘查看博客(https://blog.csdn.net/renfeigui0/article/details/100795431)。
Linux系统新磁盘分区及格式化查看博客
(https://blog.csdn.net/renfeigui0/article/details/100797558)。
查看磁盘sdb的分区表,查看所有分区uuid,此时各分区uuid各不相同。

fdisk -l /dev/sdb
blkid

3、查看磁盘使用情况,选择一个小分区进行备份,执行如下命令备份分区/dev/sda1到分区/dev/sdb1。

df  -h
dd  if=/dev/sda1    of=/dev/sdb1

4、新建挂载点,挂载备份分区。

mkdir /disk1
mount /dev/sdb1  /disk1/

5、查看分区数据容量相同,查看分区uuid也相同。

df -h
blkid

6、如果需要还原分区,则只需把输入项和输出项反过来即可,命令如下。

dd   if=/dev/sdb1   of=/dev/sda1

在这里插入图片描述

五、磁盘备份为磁盘,备份磁盘还原磁盘

1、把磁盘a备份到磁盘b。

dd   if=/dev/sda      of=/dev/sdb

2、当硬盘a数据损坏时,只需用备份硬盘b替换即可恢复系统数据。

六、磁盘备份为文件,备份文件还原磁盘

1、把磁盘a备份成文件disk.bak。

dd    if=/dev/sda    of=/tmp/disk.bak

2、如果备份成文件,那么在恢复时需要把备份数据复制到其他Linux中,然后把新硬盘安装到有备份数据的这台Linux服务器上,再把磁盘备份数据复制到新硬盘中即可。

dd    if=/tmp/disk.bak    of=/dev/sdb
  • dd 命令在进行整盘复制时,类似于 GHOST 工具的功能。虽然 dd 命令功能强大,不过也有一个明显的缺点,就是复制的时间较长,复制 100GB 的数据需要 15~25 分钟(根据服务器的性能不同而不同)。

七、使用dd命令制作光盘ISO镜像

1、使用dd命令把光盘中所有的数据制作成ISO镜像。

dd    if=/dev/cdrom    of=/tmp/cd.iso 

2、建立一个新的挂载点。

mkdir /mnt/cd

3、挂载ISO镜像文件到挂载点。

mount     /tmp/cd.iso     /mnt/cd 

4、进入挂栽点,看到的数据是光盘当中的数据,这个ISO镜像是可以被当作真正的光盘使用的。

cd /mnt/cd
ls

八、制作指定大小的文件

1、有时需要制作指定大小的文件,比如,在增加 swap 分区时,就需要建立指定大小的文件,这时也要使用 dd 命令。

2、命令说明:数据输入项是/dev/zero会向目标文件中不停地写入二进制的0,指定数据块大小是1MB,指定生成10个数据块。也就是定义输出的文件大小为10MB。

dd   if=/dev/zero    of=/test/qq.txt     bs=1M    count=10

在这里插入图片描述

九、复制软盘

1、在Linux中软盘的设备文件名是/dev/fd0,这条命令会先把软盘中的数据保存为临时数据文件。

dd    if=/dev/fd0    of=/tmp/fd.bak

2、然后我们更换新的软盘,把数据备份复制到新软盘中,就实现了软盘的复制。

dd    if=/tmp/fd.bak     of=/dev/fd0

十、实现本地数据备份还有非常多的方法和工具,比如 tar 、dump、 cpio 命令。至于网络复制工具,则有 rsync 和 scp 等。

  • 0
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值