DD를 사용하여 전체 디스크를 백업하고 싶습니다. 3개의 파티션으로 구성된 512GB 디스크가 있는데 8GB만 차지하고 나머지는 사용되지 않습니다.
root@routerMARS:~# parted /dev/sda print
Model: ATA MT-512 (scsi)
Disk /dev/sda: 512GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
128 17.4kB 262kB 245kB bios_grub
1 262kB 17.0MB 16.8MB fat16 legacy_boot
2 17.0MB 8000MB 7983MB ext2
나는 그것을 다음과 같은 것으로 백업하고 싶다
dd if=/dev/sda bs=4M conv=noerror | pv | gzip -c > /mnt/backupusb/sda.img.gz
그렇다면 제가 생각한 것처럼 백업을 위해 with 을 사용해야 합니까 dd
?count=$(( 8000 / 4 ))
나는 다음을 수행했습니다.
DD_DISK=/dev/sda
SAVE_FILE=/mnt/backupusb/sda.img.gz
DD_BS=4194304 # 4 MB
DISK_LEN=$(parted --script --json ${DD_DISK} unit B print | jq '.disk.partitions | map(.end) | [.[]|rtrimstr("B")|tonumber] | max')
DD_COUNT=$(( (DISK_LEN + DD_BS - 1) / DD_BS )) # "DD_BS - 1" is to round up division
sync
dd if=${DD_DISK} bs=${DD_BS} count=${DD_COUNT} conv=noerror | pv --buffer-size ${DD_BS} --size ${DISK_LEN} --rate-limit 50M | gzip -c > ${SAVE_FILE}
맞는지 추천 부탁드립니다.