728x90
문제점
/var/log/nginx의 로그를 보면 access.log 1 , access.log 2와 같이 날짜 별로 로그가 나오지 않아 특정 날짜에 일어난 로그를 찾아보기 힘들다.
해결방안
로그 파일의 앞에 날짜를 붙혀 특정 날짜의 log를 쉽게 찾는다.
1. logrotate의 nginx 설정 파일 이동
sudo vim /etc/logrotate.d/nginx
2. 설정 파일 수정
(1) 수정 전
/var/log/nginx/*.log {
daily
missingok
rotate 14
compress
delaycompress
notifempty
create 0640 www-data adm
sharedscripts
prerotate
if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
run-parts /etc/logrotate.d/httpd-prerotate; \
fi \
endscript
postrotate
invoke-rc.d nginx rotate >/dev/null 2>&1
endscript
}
(2) 수정 후
/var/log/nginx/*.log {
daily
missingok
rotate 14
compress
delaycompress
notifempty
create 0640 www-data adm
sharedscripts
dateext # 날짜 별로 정렬
dateformat .%Y_%m_%d # 날짜형식
extension .log # ./log 형식으로 생성
prerotate
if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
run-parts /etc/logrotate.d/httpd-prerotate; \
fi \
endscript
postrotate
invoke-rc.d nginx rotate >/dev/null 2>&1
endscript
}
3. 수정파일 적용
sudo logrotate -f /etc/logrotate.d/nginx
4. 결과
오늘 날짜는 access.log에 저장되고 날짜가 지나면 이전 날짜의 로그파일은 날짜를 포함한 log 파일로 변경됨
728x90
'devops' 카테고리의 다른 글
docker-compose를 이용한 MySQL서버를 배포하고 Spring연동하기 (0) | 2024.04.11 |
---|---|
Nginx 보안 강화하기 (0) | 2024.04.05 |
docker-compose를 이용한 spring,Nginx 서버 연결 및 https설정하기 (0) | 2024.04.02 |
docker volume을 이용하여 Nginx 배포하기(가비아 도메인 연결) (0) | 2024.04.02 |
Jenkins Pipeline으로 Docker 서버에 배포하기(gradle,jar) (1) | 2024.04.01 |