강좌
클라우드/리눅스에 관한 강좌입니다.
자격증 분류

리눅스마스터1급 : 백업관련 명령어편 : dd

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

리눅스마스터1: 백업관련 명령어편 : dd

 






dd는 블록단위로 파일을 복사하거나 변환하는 명령어이다.

 

 

 

블록 단위로 파일을 읽고 저장을 하는 형태이다 보니 테이프로 데이터를 백업, 디스크 디바이스를 이미지로, 파일 단위 복제 부팅디스크 등을 만드는데 주로 사용된다.

 

 

 

앞에서 언급하였듯 디스크 디바이스에 대한 이미지 백업을 만들거나 디스크 디바이스 간의 복제등 백업에 많이 이용되고 있다.

 

 

 

 

1) 주요옵션

 

bs=BYTES : 한 번에 입력 및 출력할 byte양을 설정한다.

 

 

 

 

cbs=BYTES : 한 번에 변환할 byte양을 설정한다.

 

 

 

 

if=FILE : 표준 입력을 대신할 파일 입력을 지정한다.

 

 

 

 

of=FILE : 표준 출력을 대신할 파일 출력을 지정한다.

 

 

 

 

ibs=BYTES : 한 번에 입력할 byte양을 설정한다.

 

 

 

 

obs=BYTES : 한 번에 출력할 byte양을 설정한다.

 

 

 

 

skip=BLOCKS : 입력 시작시 지정된 BLOCK의 단위만큼 ibs 크기를 건너뛰고 입력을 시작한다.

 

 

 

 

seek=BLOCKS : 출력시작 시 입력된 BLOCK의 단위만큼 obs 크기를 건너뛰고 출력을 시작한다.

 

 

 

 

noerror : 에러를 만나더라도 계속 진행한다.

 

 

 

 

sync : 입력된 ibs와 출력된 obs사이에 사이가 있을 경우 그 공백을 NULL로 채운다.

 

 

 

 

2) 사용방법

 

 

dd [옵션....] 으로 사용된다

 

 

3) 사용예제

 

 

dd를 이용하여 디스크 디바이스를 이미지로 복사

dd를 이용하여 /boot 파티션을 복사해보자.

 

 

 

 

 

[root@SULinux ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/sda1 50G 19G 29G 40% /

tmpfs 3.0G 72K 3.0G 1% /dev/shm

/dev/sda2 485M 112M 348M 25% /boot

/dev/sda3 400G 128G 253G 34% /home

 

 

 

 

 

위에서 보는 것과 같이 /boot 파티션은 /dev/sda2이다.

 

 

 

/dev/sda2boot.raw라는 이미지로 복사해보자.

 

 

 

 

 

 

[root@SULinux ~]# dd if=/dev/sda2 of=boot.raw bs=1024

512000+0 records in

512000+0 records out

524288000 bytes (524 MB) copied, 10.491 s, 50.0 MB/s

[root@SULinux ~]# ls -l boot.raw

-rw-r--r--. 1 root root 524288000 2013-07-13 11:19 boot.raw

 

 

 

 

 

다음과 같이 복사 되었으며 이미지가 정상적인지 내용을 확인하면 아래와 같이 loop디바이스를 이용하여 마운트 시켜 확인이 가능하다.

 

 

 

 

 

 

 

 

 

[root@SULinux ~]# mkdir boot_test

[root@SULinux ~]# mount -o loop boot.raw ./boot_test/

[root@SULinux ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/sda1 50G 19G 29G 40% /

tmpfs 3.0G 72K 3.0G 1% /dev/shm

/dev/sda2 485M 112M 348M 25% /boot

/dev/sda3 400G 128G 253G 34% /home

/root/boot.raw 485M 112M 348M 25% /root/boot_test

[root@SULinux ~]# ls /boot/

System.map-2.6.32-358.el6.i686

System.map-2.6.32-358.el6.i686.debug

System.map-2.6.32-71.el6.i686

config-2.6.32-358.el6.i686

config-2.6.32-358.el6.i686.debug

config-2.6.32-71.el6.i686

dracut

efi

elf-memtest86+-4.10

extlinux

grub

initramfs-2.6.32-358.el6.i686.debug.img

initramfs-2.6.32-358.el6.i686.img

initramfs-2.6.32-71.el6.i686.img

initrd-2.6.32-358.el6.i686kdump.img

initrd-2.6.32-71.el6.i686kdump.img

lost+found

memtest86+-4.10

symvers-2.6.32-358.el6.i686.debug.gz

symvers-2.6.32-358.el6.i686.gz

symvers-2.6.32-71.el6.i686.gz

vmlinuz-2.6.32-358.el6.i686

vmlinuz-2.6.32-358.el6.i686.debug

vmlinuz-2.6.32-71.el6.i686

[root@SULinux ~]# ls /root/boot_test/

System.map-2.6.32-358.el6.i686

System.map-2.6.32-358.el6.i686.debug

System.map-2.6.32-71.el6.i686

config-2.6.32-358.el6.i686

config-2.6.32-358.el6.i686.debug

config-2.6.32-71.el6.i686

dracut

efi

elf-memtest86+-4.10

extlinux

grub

initramfs-2.6.32-358.el6.i686.debug.img

initramfs-2.6.32-358.el6.i686.img

initramfs-2.6.32-71.el6.i686.img

initrd-2.6.32-358.el6.i686kdump.img

initrd-2.6.32-71.el6.i686kdump.img

lost+found

memtest86+-4.10

symvers-2.6.32-358.el6.i686.debug.gz

symvers-2.6.32-358.el6.i686.gz

symvers-2.6.32-71.el6.i686.gz

vmlinuz-2.6.32-358.el6.i686

vmlinuz-2.6.32-358.el6.i686.debug

vmlinuz-2.6.32-71.el6.i686

 

 

 

 

 

 

 

dd를 이용하여 디스크 디바이스간 복제

 

 

 

 

# dd를 이용하여 /dev/sda/dev/sdc로 복제하기

dd if=/dev/sda of=/dev/sdc bs=1024

 

 

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,043 명
  • 현재 강좌수 :  35,853 개
  • 현재 접속자 :  72 명