In one of our previous article, we have discussed how to take snapshot backups in a linux system. In this article we will see how to take backups in our linux file system using the dd command. The dd command is useful to back up entire devices, whether entire hard disks, individual partitions, or logical volumes. For example, to back up an entire hard disk to a second hard disk, execute a command like the following:

#dd if=/dev/sda1 of=/dev/sda2

The if option is used to specify the input device. The of option is used to specify the output device. Make sure when you execute this command that the hard disk that you are storing the backup is at least as large as the hard disk that you are backing up.

What if you do not have a spare hard disk, but you have enough room on a device (such as an external USB hard disk)? In this case, place the output into an image file:

#dd if=/dev/sda1 of=/mnt/hda.img

You can also use the dd command to back up the contents of a CD-ROM or DVD into an ISO image:

#dd if=devcdrom of=cdrom.iso

The ISO image file can be used to create more CD-ROMs, or it can be shared via the network to make the contents of the CD-ROM easily available (rather than passing the disc around the office).

It is also helpful to know that both image and ISO files can be treated as regular filesystems in the sense both types can be mounted and explored:

#mkdir /test

#mount -o loop /mnt/had.img /test

One of the advantages of the dd command is that it can back up anything on the hard disk, not just files and directories. For example, at the beginning of each disk is an area called the MBR (Master Boot Record). For the boot disk, the MBR contains the bootloader (GRUB) and a copy of the partition table. It can be useful to have a backup of this data:

#dd if=/dev/sda1 of=/root/mbr.img bs=512 count=1

The bs option indicates the block size, and the count indicates how many blocks to back up. The values of 512 and 1 make sense because the MBR size is 512 bytes.

The following two tabs change content below.
Ruwantha Nissanka is a Professional Cyber Security Engineer from Sri lanka with having a demonstrated history of providing cyber security services for multiple organizations in Sri Lanka. He is a positive person who wants to believe the best in others and he likes to help, encourage people and make them feel good.