이 logrotate 구성이 있으며 Ubuntu 10.04에서 실행 중입니다.
/var/log/mysql/mysql-slow.log {
daily
rotate 3
compress
notifempty
missingok
create 660 mysql adm
postrotate
if test -x /usr/bin/mysqladmin && \
/usr/bin/mysqladmin ping &>/dev/null
then
/usr/bin/mysqladmin flush-logs
fi
endscript
}
어제 이것을 /etc/logrotate.d에 넣고 오늘 로그가 회전하지 않았습니다.
아래는 내가 한 것들입니다.
- 로그가 실제로 /var/log/mysql/mysql-slow.log에 있는지 확인했습니다.
- 루트로 실행할 때 mysqladmin 라인이 제대로 작동
- mysql은 mysql-slow.log에 쓸 수있다
내가 이것을했을 때 :
$ logrotate -d -f mysql-slow
reading config file mysql-slow
reading config info for /var/log/mysql/mysql-slow.log
Handling 1 logs
rotating pattern: /var/log/mysql/mysql-slow.log forced from command line (3 rotations)
empty log files are not rotated, old logs are removed
considering log /var/log/mysql/mysql-slow.log
log needs rotating
rotating log /var/log/mysql/mysql-slow.log, log->rotateCount is 3
dateext suffix '-20120329'
glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
renaming /var/log/mysql/mysql-slow.log.3.gz to /var/log/mysql/mysql-slow.log.4.gz (rotatecount 3, logstart 1, i 3),
renaming /var/log/mysql/mysql-slow.log.2.gz to /var/log/mysql/mysql-slow.log.3.gz (rotatecount 3, logstart 1, i 2),
renaming /var/log/mysql/mysql-slow.log.1.gz to /var/log/mysql/mysql-slow.log.2.gz (rotatecount 3, logstart 1, i 1),
renaming /var/log/mysql/mysql-slow.log.0.gz to /var/log/mysql/mysql-slow.log.1.gz (rotatecount 3, logstart 1, i 0),
renaming /var/log/mysql/mysql-slow.log to /var/log/mysql/mysql-slow.log.1
creating new /var/log/mysql/mysql-slow.log mode = 0660 uid = 20004 gid = 4
running postrotate script
running script (multiple) with arg /var/log/mysql/mysql-slow.log : "
if test -x /usr/bin/mysqladmin && \
/usr/bin/mysqladmin &>/dev/null
then
/usr/bin/mysqladmin flush-logs
fi
"
compressing log with: /bin/gzip
removing old log /var/log/mysql/mysql-slow.log.4.gz
- logrotate가 성공했음을 나타내는 로그는 어디에 있습니까? 문제가 있다고 말하는 것이 있는지 확인하고 싶습니다.
- 왜 logrotate가 작동하지 않는지에 대한 아이디어가 있습니까?
mysql-server
? 를 실행하십시오 grep '/var/log/mysql' /etc/logrotate.d/*
.
/etc/crontab
파일의 정보는로 끝나는 줄 에서 찾을 수 있습니다 /etc/cron.daily )
. 해당 날짜의 cron 일일 작업이 이미 실행 된 후 logrotate 구성을 작성했을 수 있습니까?
crond
실행?