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
备份系统的操作命令:
恢复系统时操作命令:
如下是使用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
备份系统的一个示例:
恢复系统,那就执行如下步骤:
此外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备份总结完毕,希望大家喜欢。
马哥学习交流群