진행 중인 프로젝트에서 갑자기 서버 재배포가 안되는 문제가 발생했었다.
급하게 원인을 분석해보니 서버 메모리가 부족해 빌드 파일이 제대로 생성 안되고 있었고 nohup.out 파일이 문제였다.
이를 해결하기 위해 스크립트를 활용해 배포시마다 기존 nohup 파일을 tar.gz로 압축 후 기존 파일을 삭제하고 새로운 nohup 파일을 생성해 사용하는 로직으로 수정했다.
현재 nohup 외에 날짜 별로 로그가 남고 일정 기간 이후 삭제되는 로직을 검토하고있는데 관련 로직이 완성되면 nohup 실행시 nohup.out이 생성안되도록 처리해야할 것 같다.
관련해 리눅스 문법들을 서치하며 알게된 내용들을 정리하고자 글을 쓰게 됐다.
리눅스에서 압축을 한다하면 크게 3가지 용어가 튀어나오더라.
tar tar.gz zip이 그것인데 각각을 비교해보면 아래와 같다.
1. tar
리눅스 환경에서 가장 일반적으로 사용
압축보단 여러개 파일을 하나로 묶는 거에 가까움
따라서, 용량 압축이 거의 없다.
tar 명령어
압축
$ tar -cf 압축명.tar 파일명
압축해제
$ tar -xf 파일명.tar
2. tar.gz
리눅스 환경에서 가장 일반적으로 사용
합쳐진 tar 파일은 압축하는 방식으로 가장 좋은 압축 옵션
용량압축이 높음에도 cpu가 적게 사용된다.
tar.gz 명령어
압축
$ tar -zcvf 압축명.tar.gz 파일명
압축해제
$ tar -zxvf 압축명.tar.gz
3. zip
윈도우 환경에서 가장 많이 쓰는 확장자
거의 모든 os에서 호환되지만 용량 압축이 낮다.
zip 명령어
압축
$ zip -r 압축명.zip 파일명
압축해제
$ unzip 압축명.zip
추가로 알아두면 좋을만한 참고사항
tar 옵션값
-c | 파일을 tar로 묶음 |
-p | 파일 권한을 저장 |
-v | 묶거나 파일을 풀 때 과정을 화면으로 출력 |
-f | 파일 이름을 지정 |
-C | 경로를 지정 |
-x | tar 압축을 풂 |
-z | gzip으로 압축하거나 해제함 |
tar 경로 지정
1. 압축시 경로 지정
압축될 파일명 앞에 위치시킬 폴더명을 같이 입력
ex) var/log/압축명.tar.gz
2. 압축해제시 경로 지정
끝에 -C 폴더위치명 기존 명령어 뒤에 추가로 붙여 입력
ex) -C /var/logs
+ 압축전후 파일 용량이 분명 궁금해질텐데 이때 아래 명령어를 사용하길 추천한다.
G,K,M 단위로 표시해줘서 보기 편하다.
$ ls -lh
참고사이트
https://suzxc2468.tistory.com/166
https://brownbears.tistory.com/161
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=oiktoail&logNo=220852476226
'리눅스' 카테고리의 다른 글
[리눅스] 시스템 CPU, 메모리 사용량 확인하는 명령어 모음 (0) | 2022.08.04 |
---|---|
[디버깅] vi 대용량 파일 안열릴 때 해결법 aka.less 명령어 (0) | 2022.08.01 |
linux 디렉토리 (0) | 2021.06.28 |
데비안과 레드햇 (0) | 2021.06.28 |