728x90
728x90
Logrotate 이용한 로그 관리
Linux(리눅스)에서 로그 관리를 위해 기본적으로 Logrotate를 사용한다.
그럼 간단하게 Logrotate가 무엇이고, 어떻게 설정하는지 알아보도록 하자.
1. Logrotate란?
로그(Log) 파일을 압축, 삭제, 메일링, 권한 등 설정하여 쉽게 관리할 수 있도록 사용되는 Linux 시스템 명령어이다.
Logrotate를 사용하는 이유는 여러 가지가 있겠지만 그중 제일 큰 부분은 분할과 용량 때문이다.
첫 번째로는 한 개의 파일에 계속적으로 로그들을 쌓는다면 일단 파일을 여는 것부터 문제가 된다.
만약 파일을 열었다고 해도 파일 내에 많은 로그가 저장되어있기에 원하는 걸 찾기도 쉽지 않다.
Logrotate 설정으로 분할하여 저장된다면 파일의 용량도 적을 뿐 아니라 일자에 맞게 저장이 되어 검색도 용이할 것이다.
두 번째로는 분할을 하여 계속 저장하는 경우 무제한적으로 저장을 할 수가 없다.
그런 부분에 대해서 특정 일자까지만 저장하고 삭제를 할 수 있도록 설정할 수 있다.
이런 여러 이유가 있어 Logrotate를 이용해서 로그를 쉽게 관리가 가능하다.
728x90
2. 설정 파일
그럼 이번에는 Logrotate의 설정 파일들을 알아보자.
- /usr/sbin/logrotate
- Logrotate 파일 위치
- /etc/logrotate.conf
- Logrotate 설정 파일
- /etc/logrotate.d/*
- Logrotate로 구동되는 각 애플리케이션들의 설정 파일
- /var/lib/logrotate/logrotate.status
- Logrotate가 구동된 Log 파일
- /etc/cron.daily/logrotate
- Logrotate가 Daily Cron을 이용한 구동 설정
728x90
3. 애플리케이션의 설정 예시
간단하게 HTTP(Apache)의 로그에 대해서 Logrotate 설정하는 방법을 알아보자.
$ cat /etc/logrotate.d/http
/var/log/httpd/*log { <- 프로그램의 로그 위치
daily <- logrotate 기간(daily , weekly, monthly)
rotate 90 <- log 삭제
create 644 root root <- log 생성 권한 및 계정:그룹
missingok <- log 파일 누락시 오류 메세지 발생
notifempty <- log 내용 없을 경우 logrotate 미구동
compress <- rotate된 log 파일 압축
sharedscripts
postrotate
/bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true
endscript
}
4. 참고 문서
728x90
728x90
🌵댓글