400-650-7353
您所在的位置:首頁 > IT干貨資料 > linux > 【Linux基礎知識】CentOS7使用dd命令進行數(shù)據(jù)備份

【Linux基礎知識】CentOS7使用dd命令進行數(shù)據(jù)備份

  • 來源:
  • 2021-08-30 16:11:53
  • 閱讀()
  • 分享
  • 手機端入口

在Linux中可以使用dd命令進行數(shù)據(jù)備份。dd命令可以對文件(包括設備)的內(nèi)容導入導出,導出數(shù)據(jù)后,原文件(或設備)的內(nèi)容不會被刪除或改變。用這種方式可實現(xiàn)任何文件(設備)到其他任何文件(設備)的數(shù)據(jù)導出,實現(xiàn)備份的目的。

格式如下:

dd if=源文件/設備 of=目標文件/設備 bs=每次操作的數(shù)據(jù)量 count=操作次數(shù)

其中的bs和count可以省略,省略后采用默認值。bs默認值是512字節(jié),count默認值和源文件大小有關(guān)。

舉例如下。

①dd if=f1 of=f2:把f1文件導入到f2中,相當于將文件f1復制為文件f2。相關(guān)操作如下:

[root@file01 ~]# cd /mnt
[root@file01 mnt]# cp /etc/sudoers ./f1
[root@file01 mnt]# ls
f1  hgfs
[root@file01 mnt]# dd if=f1 of=f2
記錄了8+1 的讀入
記錄了8+1 的寫出
4328字節(jié)(4.3 kB)已復制,0.000566382 秒,7.6 MB/秒
[root@file01 mnt]# ls -l
總用量 16
-r--r----- 1 root root 4328 8月   2 10:11 f1
-rw-r--r-- 1 root root 4328 8月   2 10:12 f2
drwxr-xr-x 2 root root    6 11月  6 2020 hgfs

②dd if=f1 of=f2 bs=1 count=3:把f1文件導入到f2中,每次導入1字節(jié),導入3次。相關(guān)操作如下:

[root@file01 mnt]# dd if=f1 of=f2 bs=1 count=3
記錄了3+0 的讀入
記錄了3+0 的寫出
3字節(jié)(3 B)已復制,0.000652474 秒,4.6 kB/秒
[root@file01 mnt]# cat f2
## [root@file01 mnt]# 

③dd if=/dev/sda1 of=/mnt/f1:把sda1分區(qū)的數(shù)據(jù)導入到f1中,相當于用文件存儲整個分區(qū)數(shù)據(jù)。相關(guān)操作如下:

[root@file01 mnt]# lsblk
NAME                  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                     8:0    0   20G  0 disk
├─sda1                  8:1    0    1G  0 part /boot
└─sda2                  8:2    0   19G  0 part
  ├─centos_mini7-root 253:0    0   17G  0 lvm  /
  └─centos_mini7-swap 253:1    0    2G  0 lvm  [SWAP]
loop0                   7:0    0 32.6M  0 loop /media
[root@file01 mnt]# df -Th
文件系統(tǒng)                      類型      容量  已用  可用 已用% 掛載點
devtmpfs                      devtmpfs  475M     0  475M    0% /dev
tmpfs                         tmpfs     487M     0  487M    0% /dev/shm
tmpfs                         tmpfs     487M   14M  473M    3% /run
tmpfs                         tmpfs     487M     0  487M    0% /sys/fs/cgroup
/dev/mapper/centos_mini7-root xfs        17G  3.1G   14G   18% /
/dev/sda1                     xfs      1014M  229M  786M   23% /boot
tmpfs                         tmpfs      98M     0   98M    0% /run/user/0
/dev/loop0                    iso9660    33M   33M     0  100% /media
[root@file01 mnt]# dd if=/dev/sda1 of=/mnt/f1
記錄了2097152+0 的讀入
記錄了2097152+0 的寫出
1073741824字節(jié)(1.1 GB)已復制,8.7408 秒,123 MB/秒
[root@file01 mnt]# ls -lh f1
-r--r----- 1 root root 1.0G 8月   2 10:30 f1

④dd if=/dev/sda1 of=/dev/sdb1:把sda1分區(qū)的數(shù)據(jù)導入到sdb1中,相當于拷貝整個分區(qū)。

[root@file01 ~]# sfdisk -d /dev/sda|sfdisk /dev/sdb
Checking that no-one is using this disk right now ...
OK
 
Disk /dev/sdb: 2610 cylinders, 255 heads, 63 sectors/track
Old situation:
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0
 
   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdb1   *      0+    130-    131-   1048576   83  Linux
/dev/sdb2        130+   2610-   2481-  19921920   8e  Linux LVM
/dev/sdb3          0       -       0          0    0  空
/dev/sdb4          0       -       0          0    0  空
New situation:
Units: sectors of 512 bytes, counting from 0
 
   Device Boot    Start       End   #sectors  Id  System
/dev/sdb1   *      2048   2099199    2097152  83  Linux
/dev/sdb2       2099200  41943039   39843840  8e  Linux LVM
/dev/sdb3             0         -          0   0  空
/dev/sdb4             0         -          0   0  空
Warning: partition 1 does not end at a cylinder boundary
Warning: partition 2 does not start at a cylinder boundary
Warning: partition 2 does not end at a cylinder boundary
Successfully wrote the new partition table
Re-reading the partition table ...
 
If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes:  dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)
[root@file01 ~]# dd if=/dev/sda1 of=/dev/sdb1
記錄了2097152+0 的讀入
記錄了2097152+0 的寫出
1073741824字節(jié)(1.1 GB)已復制,19.7337 秒,54.4 MB/秒

⑤dd if=/dev/sda of=/dev/sdb:把sda磁盤的數(shù)據(jù)導入到sdb磁盤中,相當于拷貝整個磁盤。相關(guān)操作如下:

[root@file01 ~]# dd if=/dev/sda of=/dev/sdb
記錄了41943040+0 的讀入
記錄了41943040+0 的寫出
21474836480字節(jié)(21 GB)已復制,394.098 秒,54.5 MB/秒

⑥dd if=/dev/zero of=/mnt/f1 bs=100M count=5:把空字符導入到f1中,每次導入100M字節(jié),導入5次,相當于創(chuàng)建一個500M的全都是空字符的文件。相關(guān)操作如下:

[root@file01 mnt]# ls -l f1
-r--r----- 1 root root 1073741824 8月   2 10:30 f1
[root@file01 mnt]# dd if=/dev/zero of=/mnt/f1 bs=100M count=5
記錄了5+0 的讀入
記錄了5+0 的寫出
524288000字節(jié)(524 MB)已復制,0.877345 秒,598 MB/秒
[root@file01 mnt]# ls -l f1
-r--r----- 1 root root 524288000 8月   2 11:00 f1
[root@file01 mnt]# strings f1|more
[root@file01 mnt]# hexdump -C f1
00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
1f400000

注意,/dev/zero并非是真正的設備或文件,類似于程序,功能是無限生成二進制的0,即空字符。

⑦dd if=/dev/zero of=/dev/sdb1 bs=100M count=1:把空字符導入到sdb2分區(qū)中,每次導入100M字節(jié),導入1次,相當于擦除分區(qū)前100M空間,多用于分區(qū)無法格式化時,進行先擦除再格式化。此操作為危險操作,執(zhí)行前確保分區(qū)/dev/sdb1中無重要數(shù)據(jù)。

文章“【Linux基礎知識】CentOS7使用dd命令進行數(shù)據(jù)備份”已幫助

更多內(nèi)容

>>本文地址:http://nfbqydst.cn/zhuanye/2021/69822.html

THE END  

聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。

1 您的年齡

2 您的學歷

3 您更想做哪個方向的工作?

獲取測試結(jié)果
  • 大前端大前端
  • 大數(shù)據(jù)大數(shù)據(jù)
  • 互聯(lián)網(wǎng)營銷互聯(lián)網(wǎng)營銷
  • JavaJava
  • Linux云計算Linux
  • Python+人工智能Python
  • 嵌入式物聯(lián)網(wǎng)嵌入式
  • 全域電商運營全域電商運營
  • 軟件測試軟件測試
  • 室內(nèi)設計室內(nèi)設計
  • 平面設計平面設計
  • 電商設計電商設計
  • 網(wǎng)頁設計網(wǎng)頁設計
  • 全鏈路UI/UE設計UI設計
  • VR/AR游戲開發(fā)VR/AR
  • 網(wǎng)絡安全網(wǎng)絡安全
  • 新媒體與短視頻運營新媒體
  • 直播帶貨直播帶貨
  • 智能機器人軟件開發(fā)智能機器人
 

快速通道fast track

近期開班時間TIME