我正在运行apache 2.4.9
。Apacheubuntu 14.04
轮换日志文件并存档它们,因此我最终得到类似以下内容:access.log.2.gz
,access.log.N.gz
...。
问题在于很难分析它们(我必须解压、分析并删除它们)。此外,我不希望这些日志留在服务器上(我宁愿将它们复制到本地计算机并将它们从服务器中删除)。现在我正在手动执行此操作,效率不高。
那么,有没有办法配置 apache,让它在 apache 轮换日志文件后立即自动向我发送一封包含日志文件的电子邮件?如果这不是一个好主意,或者有更好的办法,我愿意听取任何建议
答案1
来自 man logrotate.conf
mail address
当日志被轮换而不再存在时,它会被邮寄到地址。如果某个日志不需要生成邮件,可以使用 nomail 指令。
mailfirst
使用邮件命令时,邮寄刚刚轮换的文件,而不是即将过期的文件。
maillast
使用邮件命令时,邮寄即将过期的文件,而不是刚刚轮换的文件(这是默认设置)。
因此,如果您在 logrotate 配置文件中设置这些选项,并将选项减少rotate
到 0,那么您应该会得到您想要的结果。
答案2
如果您使用 logrotate 来轮换文件(这可能是个好主意)..那么您可以在要轮换的文件的配置文件中加入后处理。如果当前包含在多文件规则中,则将其分解并进行更改。此后处理可能是将文件发送给您。