通过logrotate对Apache日志进行轮转设置
Apache的日志文件可以通过rotatelogs实现日志轮转,但也可以通过logrotate.d实现Apache日志文件的轮转。以下是通过logrotate进行每天轮转Apache日志的设置备忘录。
Apache日志文件可以使用rotatelogs进行轮转,也可以使用logrotate.d进行轮转。以下是在一天为单位使用logrotate进行Apache日志轮转的设置备忘录。
将以下内容以1天为单位记载在/etc/logrotate.d/httpd文件中,可以对Apache日志文件进行轮转。已在AmazonLinux + Apache2.2.29环境下确认。
■环境
亚马逊Linux
Apache 2.2.29
我想要进行日志轮替的 Apache 日志文件是:/var/log/httpd/access_log 和 /var/log/httpd/error_log。
■轮换设定
创建以下文件。
# vi /etc/logrotate.d/httpd
/var/log/httpd/*log {
daily
missingok
rotate 7
notifempty
sharedscripts
compress
delaycompress
postrotate
/sbin/service httpd reload > /dev/null 2>/dev/null || true
endscript
}
# chmod 644 /etc/logrotate.d/httpd
进行日志轮换设置测试以确保没有出现错误。
# logrotate -dv /etc/logrotate.d/httpd
reading config file /etc/logrotate.d/httpd
reading config info for /var/log/httpd/*log
Handling 1 logs
rotating pattern: /var/log/httpd/*log after 1 days (7 rotations)
empty log files are not rotated, old logs are removed
considering log /var/log/httpd/access_log
log does not need rotating
considering log /var/log/httpd/error_log
not running postrotate script, since no logs were rotated
确认日志轮换的结果。
# ls -lrt /var/log/httpd/
(略)
-rw-r--r-- 1 root root 607 12月 20 03:09 error_log-20141219.gz
-rw-r--r-- 1 root root 2569 12月 20 03:09 access_log-20141219.gz
-rw-r--r-- 1 root root 2523077 12月 21 03:31 access_log-20141221
-rw-r--r-- 1 root root 215 12月 21 03:32 error_log-20141220.gz
-rw-r--r-- 1 root root 50743 12月 21 03:32 access_log-20141220.gz
-rw-r--r-- 1 root root 332 12月 21 03:32 error_log-20141221
-rw-r--r-- 1 root root 256 12月 21 03:32 error_log
-rw-r--r-- 1 root root 1931294 12月 21 20:41 access_log
#