Linux系统备份方法——dd

最近在弄系统备份,看了很多文章,学习了很多,今儿给大家介绍下dd命令,用于备份系统,和Ghost有的一拼,而且还简单,下面给大家详细介绍下:

dd命令 把指定的输入文件拷贝到指定的输出文件中,并且在拷贝的过程中可以进行格式转换。

dd指令选项详解

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…]——用指定的参数转换文件

ascii ——转换EBCDIC为 ASCII

ebcdic ——转换ASCII为 EBCDIC

ibm ——转换ASCII为 alternate EBCDIC

block ——把每一行转换为长度为 cbs的记录,不足部分用空格填充

unblock ——使每一行的长度都为 cbs,不足部分用空格填充

lcase ——把大写字符转换为小写字符

ucase ——把小写字符转换为大写字符

swab ——交换输入的每对字节

noerror ——出错时不停止

notrunc ——不截短输出文件

sync ——把每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐

注意:指定数字的地方若以下列字符结尾乘以相应的数字:b=512,c=1, k=1024, w=2, xm=number m,kB=1000,K=1024,MB=1000*1000,M=1024*1024,GB=1000*1000*1000,G=1024*1024*1024

备份系统的操作命令:

Linux系统备份方法——dd

备份操作命令示例

恢复系统时操作命令:

Linux系统备份方法——dd

如下是使用dd命令备份一个文件,并进行压缩

dd if=/dev/sda of=~/disk1.img #disk1.img就是备份好的磁盘映像文件

后续是压缩文件

gzip disk1.img #generates disk1.img.gz

或者在创建磁盘映像文件的同时就执行压缩:

dd if=/dev/sda | gzip > disk.img.gz

dd if=/dev/sda | bzip2 > disk.img.bz2

备份系统的一个示例:

Linux系统备份方法——dd

备份系统示例

恢复系统,那就执行如下步骤:

Linux系统备份方法——dd

此外dd命令还可以用于增加swap分区的大小,参见如下示例

# dd if=/dev/zero of=/root/bigfile bs=1M count=128

128+0 records in

128+0 records out

134217728 bytes (134 MB) copied, 3.93615 s, 34.1 MB/s

# mkswap /root/bigfile

Setting up swapspace version 1, size = 131068 KiB

no label, UUID=4bdfb5e8-1aff-450a-a658-31b945e2d4e8

# swapon /root/bigfile

在每次开机的时候自动加载swap文件, 需要在 /etc/fstab 文件中增加一行:

/root/bigfile swap swap defaults 0 0

dd备份总结完毕,希望大家喜欢。

 

马哥学习交流群

马哥教育-Linux学习-1群 485374463

马哥教育-Linux学习-2群 339184057

相关新闻

历经多年发展,已成为国内好评如潮的Linux云计算运维、SRE、Devops、网络安全、云原生、Go、Python开发专业人才培训机构!