리눅스마스터1급 : 백업관련 명령어편 : dd
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 3,068 조회
- 0 추천
- 목록
본문
리눅스마스터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/sda2를 boot.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 |
|
|
|
|
관련자료
-
이전
-
다음