정리/파일관리

Ubuntu 에서의 tar 사용법

워로디스 2026. 3. 29. 21:34

1. 견고한 백업 (Backup)

 

절대 경로 대신 -C 옵션을 사용하여 상대 경로로 아카이브를 생성하는 것이 가장 안전합니다. 이렇게 하면 복구 시 시스템 파일을 실수로 덮어쓰는 대참사를 방지할 수 있습니다.

 

핵심 명령어 (추천 패턴)

sudo tar -cvpzf backup_data.tar.gz -C /var/www html

옵션 상세 분석

  • -c (Create): 아카이브 생성.
  • -v (Verbose): 작업 과정을 화면에 출력 (생략 가능).
  • -p (Preserve): 매우 중요. 파일의 권한, 소유유자, 그룹 정보를 그대로 유지.
  • -z (Gzip): gzip 방식으로 압축하여 용량 절감.
  • -f (File): 생성될 파일명 지정 (항상 옵션 리스트의 마지막에 위치).
  • -C /var/www: /var/www 디렉토리로 이동한 뒤 작업을 수행함.
  • html: 실제 백업 대상. (아카이브 내부에는 /var/www/html이 아닌 html/로 저장됨)

 

2. 데이터 검증 (Verify)

 

압축을 풀기 전, 내부 구조가 어떻게 되어 있는지 확인하는 습관이 필요합니다.

tar -tvf backup_data.tar.gz
  • 출력되는 파일 목록 맨 앞에 /가 없는지 확인하세요. (예: /etc/config (X) → etc/config (O))
  • -t 옵션은 실제 추출 없이 목록만 보여줍니다.

 

3. 견고한 복구 (Restore)

 

원하는 위치에 안전하게 풀기 위해 -C 옵션을 함께 사용합니다.

 

현재 디렉토리에 풀기

tar -xvpzf backup_data.tar.gz

 

특정 위치(예: /tmp/restore_test)에 풀기

sudo tar -xvpzf backup_data.tar.gz -C /tmp/restore_test
  • -x (Extract): 아카이브 추출.
  • --same-owner: (root 실행 시 기본값) 원본 소유자 정보를 그대로 복원합니다.

 

4. 실무용 'Master' 템플릿

시스템 전체나 복잡한 디렉토리를 백업할 때 사용하는 가장 완성도 높은 형태입니다.

sudo tar -cvpzf system_backup.tar.gz \
  --one-file-system \
  --exclude='*.log' \
  --exclude='/tmp' \
  -C / home/user/data

 

요약

  1. 절대 경로 금지: 백업 시 /etc가 아니라 -C / etc 형식을 사용하여 맨 앞의 슬래시(/)를 제거하세요.
  2. 권한 유지(-p): 웹 서버나 실행 파일 백업 시 이 옵션이 없으면 복구 후 서비스가 구동되지 않을 수 있습니다.
  3. 파일 시스템 경계(--one-file-system): 외장 하드나 네트워크 드라이브가 마운트된 경로까지 원치 않게 백업되는 것을 막아줍니다.
  4. 확장자 선택:
    • .tar.gz (-z): 속도와 압축률의 밸런스가 좋아 가장 많이 쓰입니다.
    • .tar.xz (-J): 압축 속도는 매우 느리지만, 최종 파일 용량을 최소화해야 할 때 유리합니다.