CS/Linux

[Linux] 백업·복구 도구 비교 (dd, dump, tar, cpio, rsync)

kyoulho 2025. 8. 9. 14:57

비교표

도구 동작 방식 FS 인식 증분 압축 대표 활용
dd 블록 단위 복제 X X 외부 툴 필요 디스크 이미지, 포렌식
dump FS 기반 파일 단위 O O 외부 툴 필요 서버 데이터 백업
tar 파일 단위 아카이브 X O(--listed-incremental) O 범용 아카이브
cpio 파일 목록 기반 아카이브 X 제한적 외부 툴 필요 initramfs, 파이프
rsync 변경분만 동기화 X O X(전송 중 압축 가능) 로컬·원격 동기화

💡 FS 인식: 파일 시스템 구조를 이해하고 메타데이터 기반으로 작업하는지 여부


선택 가이드

상황 추천 도구 이유
디스크 전체 복제 dd 부트섹터 포함 비트 단위 복제
서버 OS 데이터 백업 dump FS 인식, 증분 가능
단일 파일로 묶어 보관 tar 범용성, 압축 지원
find 출력 즉시 아카이브 cpio 파이프 기반
변경분만 빠르게 동기화 rsync 네트워크 전송 최적화

 


도구별 상세 설명

dd — Raw Copy

  • 동작 원리: 디스크/파티션의 모든 블록을 그대로 복사
  • 장점: 파일 시스템 무관, 부트섹터 포함 완전 복제 가능
  • 단점: 용량 큼, 증분 불가
  • 예시:
    • dd if=/dev/sda of=backup.img bs=4M status=progress
    • dd if=/dev/sda of=boot.mbr bs=512 count=1

dump — Filesystem-aware Backup

  • 동작 원리: inode와 데이터 블록을 기반으로 파일 단위 백업
  • 장점: 증분/차등 백업 지원, 부분 복원 가능
  • 단점: 지원 파일 시스템 한정(ext 계열, XFS 등)
  • 예시:
    • dump -0u -f /backup/rootfs.dump /dev/sda1
    • restore -rf /backup/rootfs.dump

tar — Tape Archive

  • 동작 원리: 여러 파일/디렉터리를 하나의 아카이브 파일로 묶음
  • 장점: POSIX 표준, 다양한 압축 포맷 지원
  • 단점: 아주 큰 백업에서 변경분만 추출하는 건 dump/rsync보다 느릴 수 있음
  • 예시:
    • tar czvf backup.tar.gz /etc /var/www
    • tar xzvf backup.tar.gz

cpio — Copy In/Out

  • 동작 원리: 표준 입력으로 받은 파일 목록을 아카이브로 묶거나 해제
  • 장점: find, grep 등과 파이프 결합에 최적
  • 단점: 단독 사용 시 파일 목록 직접 제공 필요
  • 예시:
    • find . -type f | cpio -o > archive.cpio
    • cpio -id < archive.cpio

rsync — Remote Sync

  • 동작 원리: 파일의 변경된 부분만 비교·전송
  • 장점: 로컬/원격 모두 가능, 네트워크 전송 최적화
  • 단점: 파일 삭제 동기화 시 주의(--delete)
  • 예시:
    • rsync -av /source/ /backup/
    • rsync -avz /source/ user@remote:/backup/