日志名称在生成时会附加时间戳,如 log-20140526-062503.txt 有办法管理这个吗?我尝试使用自定义状态文件,但日志轮换不会删除旧文件。
/var/logs/*.txt {
rotate 15
daily
compress
missingok
nocreate
}
有什么帮助吗?
答案1
问题是,logrotate
会将具有此自定义名称的每个新日志文件视为要轮换的单独实体(就像如果文件模式为,则会单独处理access_log
和一样)。因此,您永远不会轮换 15 个项目。error_log
/var/log/httpd/*log
解决此问题的一种方法是使用以下maxage
选项:
最大计数
删除超过几天的轮换日志。仅当要轮换日志文件时才检查年龄。如果配置了 maillast 和 mail,则文件将邮寄到配置的地址。
但我不确定这是否真的有效。
如果这不起作用,我建议使用一个 cron 作业来删除与通配符匹配的超过 15 天的文件,因为看起来您的应用程序每天都在使用一个新的日志文件。