mysql error.log 集中日志

mysql error.log 集中日志

我正在开发一个脚本,它将每 10 分钟检查一次日志,如果有任何严重错误,它将向某个地址发送一封电子邮件。我有这个问题,我想尽可能更优雅地解决:我想查看日志,/var/log/mysql/error.log但有几个日志。

例子:

  • 错误日志
  • 错误.log.1.gz
  • 错误.log.2.gz
  • 错误.log.3.gz

从我的角度来看,有两种方法可以解决这个问题: 解决方案一:

try:
 open("/var/log/mysql/error.log", "rb")
except IOError:
 try:
  open("/var/log/mysql/error.log", "rb")
 except IOError:
  ....

您可以看到这需要花费一些时间try/except,并且可能有更好的方法来做到这一点。我试图找出一些东西而不是几个try/except,但没有运气。你们能给我指出正确的方向吗?不给我完整的答案。

解决方案2:

将日志集中到一个日志中。这样我就只需打开一个文件而不是几个try/except。这个解决方案看起来更优雅。我已阅读error.logmysql 页面,但没有找到我的问题的任何答案。

我想有必要了解一些背景知识:这是我学习 Python 的第三天,我已经掌握了 MySQL 的基础知识。

答案1

呵呵呵呵呵呵。 MySql 中的每个日志文件都是 logrotate 的工作。它每周轮换并制作副本。较新的日志被记录error.log意味着error.log.1.gz较旧的日志。

是的,我觉得自己很蠢。如果有人遇到和我一样的麻烦,我会把它留在这里。

相关内容