mariadb logrotate 설정
리눅스 logrotate 데몬을 이용해 mariadb 로그를 관리하기 위해서는 아래와 같은 설정을 사용하면 된다. mariadb는 rpm을 이용해 설치한 경우이다. 소스 컴파일로 설치한 경우 아래 스크립트에서 경로 부분을 직접 수정해야한다. 파일은 /etc/logrotate.d/ 아래에 생성해 주면 된다.
## This logname can be set in /etc/my.cnf
# by setting the variable "err-log"
# in the [safe_mysqld] section as follows:
#
# [safe_mysqld]
# err-log=/var/lib/mysql/mysqld.log
#
# If the root user has a password you have to create a
# /root/.my.cnf configuration file with the following
# content:
#
# [mysqladmin]
#password = <secret>
#user= root
#
# where "<secret>" is the password.
#
# ATTENTION: This /root/.my.cnf should be readable ONLY
# for root !
/var/lib/mysql/mariadb.log {
# create 600 mysql mysql
notifempty
daily
rotate 3
missingok
compress
postrotate
if test -n "`ps acx|grep mysqld`"; then
/usr/bin/mysqladmin flush-logs
fi
endscript
}
그리고 /usr/bin/mysqladmin flush-logs 부분이 실행되기 위해서 mariadb의 root 패스워드를 설정했다면 /root/.my.cnf 파일을 생성하고 아래 내용을 추가해줘야 한다.
[mysqladmin]
password = 1234
user = root
위 내용 중에서 1234는 실제 mariadb의 root 패스워드를 적어준다.