我们有 logrotate 适用于多个 Centos 服务器。一台新服务器的设置略有不同,并且由于某种原因 logrotate 不适用于 httpd 服务。当我手动启动它时,它确实按预期工作。我上周已经设置好了,但四天内没有运行一次。
文件 /etc/cron.daily/logrotate 存在,所以我猜 cron 作业应该每天运行。
/etc/logrotate.conf 的内容
# 有关详细信息,请参阅“man logrotate” # 每周轮换日志文件 每周 # 保留 4 周的积压订单 旋转 4 # 轮换旧日志文件后创建新的(空)日志文件 创造 # 使用日期作为旋转文件的后缀 日期文本 # 如果您希望压缩日志文件,请取消注释 #压缩 # RPM 包将日志轮转信息放入此目录中 包括/etc/logrotate.d # 没有软件包拥有 wtmp 和 btmp ——我们将在这里轮换它们 /var/log/wtmp { 每月 创建 0664 根 utmp 最小尺寸1M 旋转 1 } /var/log/btmp { 米索克 每月 创建 0600 根 utmp 旋转 1 } # 系统特定的日志也可以在此处配置。
/etc/logrotate.d/httpd 的内容。我想这些会覆盖 logrotate.conf 设置。
/var/log/httpd/*log { 日常的 压缩 旋转20 米索克 通知空 共享脚本 延迟压缩 后旋转 /sbin/service httpd 重新加载 > /dev/null 2>/dev/null ||真的 尾稿 }
为什么不起作用?
答案1
cron 没有运行。重新启动后,cron 开始工作,logrotate 也开始工作。