AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 53699
Accepted
xkcd150
xkcd150
Asked: 2009-08-14 04:33:17 +0800 CST2009-08-14 04:33:17 +0800 CST 2009-08-14 04:33:17 +0800 CST

持续监控带有偶尔旋转的尾部的日志

  • 772

我们正在使用 tail 连续监控多个日志,但是当日志旋转时,该文件的尾部将停止。

据我了解,问题是当日志旋转时,会创建一个新文件,并且正在运行的尾部进程对该新文件句柄一无所知。

linux log-files monitoring tail logrotate
  • 7 7 个回答
  • 13692 Views

7 个回答

  • Voted
  1. Best Answer
    xkcd150
    2009-08-14T04:39:49+08:002009-08-14T04:39:49+08:00

    啊,这有一面旗帜。

    而不是使用tail -f /var/log/file我们应该使用tail -F /var/log/file


    tail -F翻译为tail --follow=name --retry如;

    • --follow=name: 跟随文件名而不是文件描述符
    • --retry:如果文件不可访问,请稍后再试,而不是死掉
    • 37
  2. djhowell
    2009-11-11T12:24:42+08:002009-11-11T12:24:42+08:00
    # tail --follow=mylog.log
    

    从人尾:

    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.
    

    所以在这种情况下使用该-F选项是正确的。

    -F     same as --follow=name --retry
    
    • 28
  3. Jim Zajkowski
    2009-11-11T12:22:12+08:002009-11-11T12:22:12+08:00

    确切的答案取决于您的操作系统 - 但在许多情况下,tail -F会做正确的事情。

    • 12
  4. retracile
    2009-08-14T04:38:57+08:002009-08-14T04:38:57+08:00

    tail -F 或 tail --follow=name

    • 5
  5. Satanicpuppy
    2009-11-11T12:47:35+08:002009-11-11T12:47:35+08:00

    恕我直言,按 SIZE 而不是按日期更改日志文件有点奇怪。大多数系统日志(在 unix 或 linux 中)每周或每月轮换一次,而不是基于大小......这是我出于各种原因而喜欢的东西,如果实施的话,它也会解决你的问题。

    八年后,我不知道我到底在说什么:有很多地方要按大小旋转,因为每天/每周/每月旋转会产生大量文件,这可能会导致严重问题。

    从一个更有经验的角度来看,真正的问题是为什么你要坐下来不断地跟踪一个增长如此之快以至于你每天都在旋转它的文件……这就像观看 Matrix 流过一样。

    这些天,您最好研究一些大数据日志聚合,如 Splunk 或 Sumologic,它可以将日志事件过滤到类中并根据特定的日志值触发......根本不需要观看实时日志。

    • 2
  6. Webmaster
    2010-07-21T17:42:52+08:002010-07-21T17:42:52+08:00

    我在生产服务器上使用命令:

    tail --follow var/log/apache-access_log --retry
    
    • 1
  7. thepocketwade
    2009-08-14T04:55:01+08:002009-08-14T04:55:01+08:00

    此外,对于您的目的而言,它可能有点过于繁重,但 splunk 具有尾部功能,可以完全按照您的意愿行事。每天最多 500 MB 是免费的,但如果您的数据超出该大小,则不值得付出代价。

    • -1

相关问题

  • 更改 PHP 的默认配置设置?

  • 你用什么工具来监控你的服务器?

  • 我应该如何管理每用户带宽?

  • 保护新的 Ubuntu 服务器 [关闭]

  • (软)Ubuntu 7.10 上的 RAID 6,我应该迁移到 8.10 吗?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve