Apache在旋转日志时停止记录

时间:2011-12-05 16:26:08

标签: apache logging

我有运行LAMP的Ubuntu 10.04.1。我有Apache的日志记录设置,以及日志轮换。

当Apache启动时,它会正确记录所有内容(访问,错误,other_vhosts_access和ssl_access)。但是,当日志旋转时,它会停止记录。

我不知道从哪里开始。救命啊!

# logrotate.conf (removing comments):
daily
rotate 4
compress
compresscmd /bin/bzip2
compressext .bz2
include /etc/logrotate.d
/var/log/wtmp {
    missingok
    monthly
    create 0664 root utmp
    rotate 1
}
/var/log/btmp {
    missingok
    monthly
    create 0660 root utmp
    rotate 1
}

##logrotate.d/apache2 (removing comments):
/var/log/apache2/*.log {
dateext
create 640 root adm
sharedscripts
daily
compress
compresscmd /bin/bzip2
compressoptions -k
postrotate
    echo "-- `date` --" >> move_log.txt
    mv <path>/access.log-*.bz2 <path>
    mv <path>/ssl_access.log-*.bz2 <path>
endscript
}

1 个答案:

答案 0 :(得分:1)

移动日志文件后,必须重新启动Apache。这将迫使它关闭它在旧日志文件上的文件句柄,并打开新句柄(并创建新的日志文件)。一个简单的service apache reload应该这样做(基本上归结为kill -HUP)。

为了安全起见,你应该移动日志文件,然后重新启动apache,然后压缩旧的文件。这将阻止Apache在您对其进行后期处理时附加到旧日志文件。