반응형
docker 를 사용하면 로그가 착실히(?) 쌓이는데 이것을 주기적으로 삭제하지 않으면 서버에서 계속 용량을 잡아먹는다
특정주기를 기준으로 삭제하고 싶다면 logrotate 를 이용하면 간단하다.
우선 로그가 쌓여있는 폴더를 확인한다
cd /var/lib/docker/containers/
du -hs *
28K 63d8661c74496d425c37
12G 747843b4945f06735ebb
crontab.daily 를 보면 logrotate 가 등록되어 있다. 그러니 logrotate 만 설정하면 된다.
# 확인하기
ls /etc/cron.daily/
logrotate man-db.cron mlocate
# logrotate 설정하기
vi /etc/logrotate.d/docker
/var/lib/docker/containers/*/*.log {
rotate 3
daily
compress
missingok
copytruncate
}
시간이 지나면 작동으로 실행한다.
위의 명령어를 해석하면 다음과 같다
- rotate: 회전주기 설정
- daily: 일단위 실행 의미
- missingok: 설정로그가 없는 경우 에러메세지 출력하지 않음
- compress: 압축(원하지 않으면 nocompress 로 설정)
- copytruncate: 대상이 되는 파일을 찾은 다음 설정에 맞게 날짜나 숫자를 붙여 rename
수동으로 실행해보고 싶으면 아래 명령어를 사용하면 된다.
logrotate -fv /etc/logrotate.d/docker
끝
반응형
'공부 > 프로그래밍' 카테고리의 다른 글
[개발] 2019년 상반기 회고록 (0) | 2019.12.29 |
---|---|
[gitlab-telegram] gitlab 의 메세지를 telegram으로 받기 (0) | 2019.12.20 |
[spring] jpa와 mybatis 동시 사용시 transactinoManager (multi) 설정하기(xml) 및 내부 살펴보기 (2) | 2019.12.17 |
[spring] LocalDateTime 주고받기(Response, Request) (0) | 2019.12.15 |
[spring] 데이터 변수명 변경하여 전달하기 (@JsonProperty 사용) (0) | 2019.12.14 |
댓글