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