首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache每日日志轮转

Apache每日日志轮转
EN

Server Fault用户
提问于 2015-08-17 09:04:15
回答 3查看 17.4K关注 0票数 2

我想创建每日日志,但有一个小问题。日志不是每天都要创建的,而是包含以前的日志文件。下面是我当前的设置,如何更改它,以便它每天只创建一个日志文件?

我编辑以下文件:/etc/logrotate.d/httpd

我使用一个名为Zadmin的控制面板,因此我将它的日志路径作为第二个dir包含进来。

我使用的是CentOS 6.5 64位。

代码语言:javascript
复制
/var/log/httpd/*log /var/sentora/logs/domains/zadmin/*.log {
    missingok
    rotate 4000000
    daily
    notifempty
    sharedscripts
    postrotate
    /sbin/service httpd reload > /dev/null 2>/dev/null || true
    endscript
}
EN

回答 3

Server Fault用户

回答已采纳

发布于 2015-08-21 19:06:32

按照Brian的回答,我是cronolog的忠实粉丝,cronolog就像你想要的那样:

代码语言:javascript
复制
CustomLog "|/usr/sbin/cronolog /var/log/httpd/%Y/%m/%Y-%m-%d-access.log" combined
ErrorLog "|/usr/sbin/cronolog /var/log/httpd/%Y/%m/%Y-%m-%d-error.log"

yum install cronolog会让你在Cent6上找到克隆洛的。

票数 1
EN

Server Fault用户

发布于 2015-08-21 19:03:00

Apache允许您将日志文件输送到另一个程序,该程序可以处理旋转,而不必重新加载/重新启动Apache。Apache甚至提供了一个程序来实现这一点。

代码语言:javascript
复制
ErrorLog "|bin/rotatelogs -l -f /var/log/apache2/errlogfile.%Y.%m.%d.log 86400" common
CustomLog "|bin/rotatelogs -l -f /var/log/apache2/logfile.%Y.%m.%d.log 86400" common
票数 2
EN

Server Fault用户

发布于 2015-08-21 20:58:18

尝试手动运行logrotate以查找错误:logrotate -d /etc/logrotate.d/httpd。手册上说:"-d打开调试模式并暗示-v。在调试模式下,不会对日志或日志旋转状态文件进行任何更改。“

这就是我们正在成功使用的东西:

代码语言:javascript
复制
/var/log/httpd/*log {
  daily
  dateext
  dateformate -%d-%m-%Y
  missingok
  nocompress
  rotate 30
  postrotate
    /sbin/service httpd reload > /dev/null 2>/dev/null || true
  endscript
}
票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/714636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档