(2018-11-18에 작성된 글입니다.)
logrotate를 사용하여 로그를 관리할 수 있다.
로그 파일에 대해 아무 설정을 하지 않으면 시간이 지나 로그가 쌓이면서 용량이 계속 커지게 될 것이고 로그를 보는 것도 편하지 않을 것이다.
그럴때는 리눅스에서 제공하는 logrotate 기능을 사용하면 큰 어려움 없이 로그를 관리할 수 있다.
예제
$ vi /etc/logrotate.d/[rotate_name]
/path/to/log/somelog.out {
copytruncate
daily
rotate 30
missingok
notifempty
dateext
}
# log 실행 [루트 권한]
logrotate -f /etc/logrotate.d/[rotate_name]
옵션 설명
Option | Description |
daily | 매일 순환 |
weekly | 매주 순환 |
monthly | 매달 순환 |
yearly | 매년 순환 |
rotate 파일 갯수 | 순환될 파일갯수 |
compress | 순환된 로그파일 압축(gzip) |
dateext | 로그파일에 YYYYMMDD형식의 확장자 추가 |
errors 메일주소 | 에러 발생시 지정된 메일주소로 메일발송 |
ifempty | 로그파일이 비어있는 경우 순환(기본값) |
noifempty | 로그파일이 비어있는 경우 순환하지 않는다 |
mail 메일주소 | 순환후 이전 로그파일을 지정된 메일주소로 발송 |
maxage 일 | count로 지정된 일수가 지난 백업 파일 삭제 |
missingok | 로그파일이 없을 경우에도 에러 처리하지 않는다 |
size 사이즈 | 순환 결과 파일사이즈가 지정한 크기를 넘지않도록 설정 |
rotate vs maxage
- `rotate` : 파일의 수만 산정하여 로그파일 수를 관리한다.
- `maxage` : 기간을 산정하여 로그파일 수를 관리한다.
weekly # 주 마다 rotate
rotate 4 # 로그파일 최대 4개 유지
maxage 60 # 60일 동안만 로그파일 유지
참고
'ETC' 카테고리의 다른 글
WebSocket Server에서 Connection 'close' 이벤트를 받지 못할 때 (1) | 2021.01.06 |
---|---|
BCrypt로 Password Hashing 하기 (0) | 2021.01.02 |
Sync & Async / Blocking & Non-Blocking (0) | 2021.01.02 |
Github - Slack 연동 (w/ user mentioning) (0) | 2020.12.31 |
validation => insert V.S. insert => catch (0) | 2020.12.28 |
댓글