注意:我使用的是Apache2 (在Linux上),但我从一般意义上问(仅针对Linux),因为我还想知道在一般情况下(因为我要在Nginx或Cherokee上部署一个大型站点)实现这一目的的“最佳”方法。
几周后我的日志文件就变得很大了。我需要暂时保持他们,但我想删除的条目,年龄超过2周左右,大约。这有可能吗?我该怎么做?
发布于 2011-02-01 01:39:29
你可以用日志旋转。它根据特定服务的配置文件旋转日志。它通常由cron每天运行。
apache在/etc/logrotate.d/apache2上的配置文件示例
/var/log/apache2/*_log {
daily
rotate 31
missingok
compress
delaycompress
sharedscripts
postrotate
if [ -f "`. /etc/apache2/envvars ; echo ${APACHE_PID_FILE:-/var/run/apache2.pid}`" ]; then
/etc/init.d/apache2 reload > /dev/null
fi
endscript
}这将:
如果您不希望重新加载进程,那么您应该使用copytruncate,它会将当前内容复制到一个新文件中,然后压缩它,然后截断当前日志文件。在这种情况下,您不需要sharedscripts、postrotate和endscript。
发布于 2011-02-01 01:30:50
处理日志的规范工具是log旋转式。
https://serverfault.com/questions/229423
复制相似问题