gpt4 book ai didi

linux - 用于监视 Gentoo 上的 nginx 日志文件的 shellscript 在日志文件被 gzip 后过期

转载 作者:太空宇宙 更新时间:2023-11-04 09:56:03 25 4
gpt4 key购买 nike

这是我的 previous question 的后续问题

所以我有这个 shellscript 来监视 Gentoo 上的 nginx 日志文件,问题是日志文件在特定文件大小或一段时间后被重命名和 gzip 压缩,shellscript 仍在查找原始文件描述符(或 inode? ), 新文件内容不会显示。

我的问题是,如何连接到自动 gzip 脚本以重新启动我的日志文件监控脚本以监控日志文件?

顺便说一句,请不要使用 cronjob 或计时器来完成它。我想要我的监控脚本的近乎实时的响应。

最佳答案

tail 使用-F 标志而不是-f 标志| (或者 --follow=name 也可以工作,尽管它只能在 Linux 上工作,而 -F 也可以在 BSD 和 Mac OS X 上工作):

   --retry
keep trying to open a file even if it is inaccessible when tail
starts or if it becomes inaccessible later -- useful only with
-f

-f, --follow[={name|descriptor}]
output appended data as the file grows; -f, --follow, and --fol-
low=descriptor are equivalent

-F same as --follow=name --retry

With --follow (-f), tail defaults to following the file descriptor,
which means that even if a tail’ed file is renamed, tail will continue
to track its end. This default behavior is not desirable when you
really want to track the actual name of the file, not the file descrip-
tor (e.g., log rotation). Use --follow=name in that case. That causes
tail to track the named file by reopening it periodically to see if it
has been removed and recreated by some other program.

关于linux - 用于监视 Gentoo 上的 nginx 日志文件的 shellscript 在日志文件被 gzip 后过期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4405701/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com