MySQL logrotate 후 새로운 파일에 로그 기록이 안되는 경우

logrotate 이후에 로그가 새로운 파일에 기록이 되지 않고 기존 파일에 계속 기록이 되는 문제
해결방법:
– env HOME=/root/ 이 중요하다.
아래 코드로 다시 Log Rotate 파일을 만들어주자.

cd /etc/logrotate.d/
vim mysql

 

참고: MySQL doesn’t logs error to new file after rotating?
http://serverfault.com/questions/415774/mysql-doesnt-logs-error-to-new-file-after-rotating

Continue Reading

mysql slow 쿼리 로그를 logrotate 시키자.

아래 코드처럼 슬로우쿼리 로그를 /var/log 에 저장하고 있다.

좀 놔두다 보니 로그파일이 커져서 열어보기가 짜증났다.

슬로워쿼리가 많이 쌓이는 것도 아니라서 3번만 로테이트 돌리고 10M가 설정하고 압축했다.

서버용량이 워낙 모자라서…

아래코드는 /etc/logrotate.d/ 안에

vi mysql로 파일을 새로 만들어 아래 내용을 넣어주기만 하면 된다.

그러면 /etc/cron.daily/logrotate 가 알아서 관리해준다.

/var/log/mysql-slow.log {
ifempty
        daily
        rotate 3
        missingok
        size=10M
        compress
        postrotate

        if test -x /usr/bin/mysqladmin && \
                /usr/bin/mysqladmin ping &>/dev/null
        then
                /usr/bin/mysqladmin flush-logs
        fi
                endscript
}

Continue Reading