Bash grep php error_log 通过过滤器归档的致命错误
Bash grep php error_log Fatal errors to file by filter
我有几个 Web 应用程序 运行ning (PHP) 的网络服务器。配置的设置方式是 php error_log 在午夜删除(因此文件仅持续 24 小时)。
问题是,我想将所有致命错误记录到另一个文件或数据库中,但仅限于特定的 Web 应用程序。 (大概有20个运行ning,其中4个是我的)
我正在考虑创建一个 bash 脚本,在我的应用程序的 "Fatal" 和 url 上搜索 error_log 文件,将输出提取到文件并记住单独缓存文件中当前 error_log 的最后行号。
然后我会将脚本放入 cron 并每隔几分钟执行一次(从上一个 运行 的最后一行开始)。
整个思路有点乱,我觉得可以写的有效率,有什么想法吗?
如果您不能开箱即用,则编写 cron 作业似乎没问题。我不太了解 PHP。在 java 例如您可以根据条件将相同的日志消息转到多个日志文件。
但我会让你的 cron 作业同时收集致命错误和删除 "last day's" 日志文件。通过这种方式,您可以在午夜使用此脚本的单个 运行 就足够了,并且可以避免知道上次在哪里结束的复杂性(以及您错过午夜之前发生的一些错误的机会)。如果收集成功,则删除旧文件,否则留待诊断并重试。它为您节省了大量 (24*60) 次脚本调用。
我有几个 Web 应用程序 运行ning (PHP) 的网络服务器。配置的设置方式是 php error_log 在午夜删除(因此文件仅持续 24 小时)。
问题是,我想将所有致命错误记录到另一个文件或数据库中,但仅限于特定的 Web 应用程序。 (大概有20个运行ning,其中4个是我的)
我正在考虑创建一个 bash 脚本,在我的应用程序的 "Fatal" 和 url 上搜索 error_log 文件,将输出提取到文件并记住单独缓存文件中当前 error_log 的最后行号。
然后我会将脚本放入 cron 并每隔几分钟执行一次(从上一个 运行 的最后一行开始)。
整个思路有点乱,我觉得可以写的有效率,有什么想法吗?
如果您不能开箱即用,则编写 cron 作业似乎没问题。我不太了解 PHP。在 java 例如您可以根据条件将相同的日志消息转到多个日志文件。
但我会让你的 cron 作业同时收集致命错误和删除 "last day's" 日志文件。通过这种方式,您可以在午夜使用此脚本的单个 运行 就足够了,并且可以避免知道上次在哪里结束的复杂性(以及您错过午夜之前发生的一些错误的机会)。如果收集成功,则删除旧文件,否则留待诊断并重试。它为您节省了大量 (24*60) 次脚本调用。