서버를 백업할 때 이미지 파일이 20GB 이상이 되는 사이트가 있어 전체 백업을 하는데 시간이 너무 오래 걸려 특정 확장자만 제외하고 백업하는 경우가 있습니다.
리눅스에서는 TAR 라는 압축 프로그램 명령어를 통해 파일을 하나로 묶거나 압축을 할 때 다양한 옵션을 지원하고 있습니다.
제가 자주 사용하는 명령어는 "tar cvfz 파일명.tgz 경로" 이렇게 압축을 하며 압축을 풀 때에는 "tar xvfz 파일명.tgz" 이렇게 2가지 형식만 알고 있어도 사용하는데 큰 불편함은 없습니다.
용량이 큰 경우 용량 단위로 나누어 압축하는 명령어도 지원하며 "Linux tar cvfpz 명령을 이용하여 용량 단위로 나누어 압축하고 풀기"을 통해 확인 해 볼 수 있습니다.
이와 같이 tar -옵션 "압축할 파일명" "압축할 경로" 형태로 사용하게 됩니다.
제외 옵션 사용하기
여기에서는 압축을 할 때 제외하는 --exclude= 옵션을 사용 해 보려고 합니다.
tar 명령을 하고 cvfz 옵션을 통해 압축하며 경로는 public_html 하위 폴더 전체를 압축하며 gif, jpg, jpeg, png 확장자는 제외하고 폴더로는 public/myadmin 경로를 제외 하는 명령이 아래와 같습니다.
tar cvfz note.tgz public_html --exclude=*.gif --exclude=*.jpg --exclude=*.jpeg --exclude=*.png --exclude=public_html/myadmin
여기에서 주의할 부분에 압축하는 위치는 /home/dut/ 위치라서 하위 public_html 경로를 정의 했습니다.
압축하는 위치에 따라서 하위 폴더 지정을 할 때 주의 해야 합니다.
avi 라는 동영상 파일 만을 제외 하는 경우도 아래와 같이 활용할 수 있습니다.
--exclude=*.avi
압축 옵션
압축을 할 때 tar 입력 후 뒤에 사용하는 옵션에 대해서 알아 보려고 합니다.
옵션 | 설명 | 메모 |
tar c | 파일 압축 | |
tar x | 파일 압축 해제 | |
tar v | 압축 또는 해제 할 때 목록 출력 | |
tar f | 압축될 파일명 지정 | |
tar t | 압축된 파일 목록 보기 | |
tar z | 압축 효률이 좋은 gzip을 사용해서 압축 | 해당 |
서버를 관리할 때 자동으로 백업을 하기도 하지만 주요 업체의 경우에는 수동으로 이렇게 수동으로 압축하는 경우도 있습니다.
파일이 너무 많은 경우 백업하거나 다운로드 복원을 할 때 전송 시간을 줄이기 위해서 압축 파일로 관리하는 게 편리 합니다.