안녕하세요~~ 저희는 공공의 적 팀입니다~~<(*^.^*)/
서버를 운영하며 가장 중요하게 생각하는 부분은 모니터링과 로그 관리라고 생각이 됩니다.
특히 로그는 짧게는 6개월, 그 이상 보관하게 되는데 지난 번 crontab과 logrotate, rotatelogs와 같은 로그 순환의 경우 일자별 로그 순환을 할 수 있지만 이 또한 시간이 흐르면 용량이 늘어나게 됩니다.
이때 활용할 수 있는 명령어가 'tar' 입니다.
TAR
여러 개의 파일을 하나의 파일로 묶거나 풀 때 사용하는 명령이며, 테이프 아카이버(Tape ARchiver)의 앞글자들을 따서 tar이라는 이름으로 불립니다.
tar 자체는 데이터의 크기를 줄이기 위한 파일 압축을 수행하지 않고, 여러 파일을 하나의 파일로 묶는 용도로 사용합니다.
tar 을 통해 하나로 합쳐진 파일을 gzip 또는 bzip2 방식을 사용하여 압축할 수 있는데, 이 때 gzip 또는 bzip2 명령을 따로 수행하지 않고 tar 명령의 옵션으로 처리할 수 있습니다.
tar 명령을 통해 만들어지는 파일은 보통 .tar 확장자를 사용합니다.
그리고 gzip 또는 bzip으로 압축된 경우, 파일 뒤에 .gz 또는 .bz2 확장자를 추가하여 tar.gz 또는 tar.bz2 로 파일 이름을 지정할 수 있습니다.
다른 방법으로는 tar + gzip을 .tgz로, tar+bzip2를 .tb2, .tbz, .tbz2 등으로 지정하기도 합니다.
tar이 널리 쓰이게 이유 중 한 가지는 단순 아카이버 기능에 더해, tar로 묶여지기 전 파일들의 속성과 심볼릭 링크, 디렉터리 구조 등을 그대로 가져갈 수 있는 특징 때문입니다.
그래서 최근에는 리눅스 용 프로그램, 데이터, 소스 및 라이브러리 등을 배포하는 용도로 많이 사용됩니다.
gzip
gzip
- 리눅스에서의 대표적인 압축 유틸리티 (GNU zip의 줄임말)
- 명령을 수행하면 원본 파일은 제거되고 .gz 확장자를 가진 파일 생성
- 압축 명령어
$ gzip [옵션] [압축할 파일]
- 압축해제 명령어
$ gunzip [옵션] [압축된 파일]
$ gzip -d [옵션] [압축된 파일]
option
-d : 압축풀기
-1 : 압축시간 줄이기 (압축률 떨어짐)
-9 : 파일을 최대로 압축 (시간이 오래걸림)
-l : 압축파일에 대한 정보 출력
-r : 압축대상이 디렉터리라면 하위디렉터리까지 모두 압축
-v : 진행과정을 %와 함께 자세히 출력
bzip2
bzip2
- gzip에 비해 압축효율은 좋지만 좀 더 많은 시간 소요
- bz2 확장자를 가짐
- 압축 명령어
$ bzip2 [옵션] [압축할 파일]
- 압축해제 명령어
$ bunzip2 [옵션] [압축된 파일]
option
-d : 압축풀기
-1 : 압축시간 줄이기 (압축률 떨어짐)
-9 : 파일을 최대로 압축 (시간이 오래걸림)
-f : 존재하는 파일을 덮어쓰기
tar 명령어 기능
-A : 지정된 파일을 tar 아카이브에 추가
-c : tar 아카이브 생성, 기존 아카이브 덮어 쓰기 (파일 묶는 용도로 사용)
-r : tar 아카이브의 변경된 파일들만 추가
-t : tar 아카이브에 포함된 내용 확인
-x : tar 아카이브에서 파일 추출 (파일 풀 때 사용)
tar 명령어 옵션
-f <file> : 대상 tar 아카이브 지정 (기본 옵션)
-v : 처리되는 과정(파일 정보)을 자세하게 나열
-z : gzip 압축 적용 옵션
-j : bzip2 압축 적용 옵션
-C <dir> : 대상 디렉터리 경로 지정
-d : tar 아카이브와 파일 시스템 간 차이점 검색
-u : tar 아카이브의 변경된 파일들만 추가
-k : tar 아카이브 추출 시, 기존 파일 유지
-U : tar 아카이브 추출 전, 기존 파일 삭제
-w : 모든 진행 과정에 대해 확인 요청
-e : 첫 번째 에러 발생 시 중지
tar 명령어 사용 방식
$ tar [기능][옵션] <생성할 tar 파일> <압축파일>
감사합니다.
'OS > Linux' 카테고리의 다른 글
[Linux]Application Config 에 대해 알아보자! (0) | 2022.08.04 |
---|---|
SSH 터널링 (0) | 2022.07.30 |
편리한 로그 수집을 위한 Apache Log4j 소개 (0) | 2022.07.17 |
[Linux] 리눅스 패키지 비교 (1) (0) | 2022.07.14 |
Tomcat 일자별 로그 순환 및 삭제 (catalina.out) (0) | 2022.07.01 |
댓글