验证日志记录已启动并启用

验证日志记录已启动并启用
COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF      NODE NAME
httpd    1744 apache   16w   REG  202,1        0 167906281 phpapi_access_log
httpd    2334 apache   16w   REG  202,1        0 167906281 phpapi_access_log

以上是我的 phpapi_access_log 文件的 lsof 输出。日志记录频率非常低,因此我无法确定日志是否正在写入文件。我为文件启用了 logrotate,但到现在文件还是空的。我如何验证日志是否会在需要时写入文件?SIZE/OFF 是什么?为什么它是“0”?

答案1

偏移量是文件中的位置(如果是附加的,则是文件的大小)。由于文件为空,因此偏移量为 0。如果文件由 Apache 打开,则该部分配置正确,因此不必担心。logrotate 最常见的问题是重命名文件而不告知 Apache。

在 lsof 中,您会看到这是一个打开的文件,文件名称错误(已存档),或者文件标记为(已删除)。但您的系统上不会出现这两种情况。

您可以检查是否要更改日志级别以向文件中写入更多或更少的信息,但这与 logrotate 无关。

除此之外,您还可以删除触发日志输出的 PHP 脚本。(不确定您必须调用什么 API 来记录 phpapi_access 日志。)

由于这个问题被标记为 lsof,手册页每个专栏都有一个大章节:

SIZE、SIZE/OFF 或 OFFSET

是文件的大小或文件偏移量(以字节为单位)。只有当值可用时,才会在此列中显示该值。Lsof 显示适合文件类型和 lsof 版本的任何值(大小或偏移量)。

相关内容