티스토리 뷰

업무를 하면서 각종 스크립트를 작성하다보면, 로그 파일을 잘 관리하는게 필요하다.

쉽게 하는 방법은 logger를 이용해 파일로 stdout/stderr 를 출력하도록 하면 되는데, 로그를 많이 생성할 수록 용량이 기하급수적으로 늘어나게 된다. 그리고, 파일 용량이 커지면 에러가 발생한 시점을 찾기도 어렵다.

 

따라서, 이럴 때는 날짜별로 구분하여 저장되도록 설정하고, 과거 로그는 자동으로 압축되도록 Rotate 설정하는 것이 좋다.

 

Ubuntu에서는 아래 경로에 관리할 대상 로그에 대한 설정을 생성해주면 된다.

 

>> sudo vi /etc/logrotate.d/myproject

/data/myproject/log/*.log {
    daily              <-- 파일을 Rotate하는 주기 (daily, weekly etc.)
    missingok          <-- 파일이 없어도 에러 발생 안함
    rotate 30          <-- 대략 얼마만큼의 백업 개수를 유지할 것인지 (daily 30개이므로 최근 한달 로그를 보관)
    compress           <-- 과거 버전은 압축
    delaycompress      <-- 지연된 압축 (가장 최근의 과거 로그는 압축하지 않고 대기하고 다음 번에 압축)
    notifempty         <-- 비어있는 로그 제외
    create 0640 myuser mygroup  <-- 로그가 생성되는 계정이므로 적절히 수정해줘야 한다.
    sharedscripts
    postrotate
        /usr/bin/systemctl restart rsyslog.service > /dev/null 2>&1 || true
    endscript
}

위와 같이 내용을 작성한 후에 아래의 명령으로 적용해주면 된다.

>> sudo logrotate -f /etc/logrotate.d/myproject

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함