【问题标题】:How to copy new entry or new line of a growing log file in shell script?如何在 shell 脚本中复制不断增长的日志文件的新条目或新行?
【发布时间】:2013-09-24 06:32:36
【问题描述】:

我正在学习 shell 脚本。

我需要将每个新条目或新行捕获到日志文件中,并将该行复制到另一个文件。

示例:我想将 /var/log/maillog 中的每个新条目复制到 //newlog.log

问候,

【问题讨论】:

    标签: linux shell logging


    【解决方案1】:
    tail -0f /var/log/maillog | tee -a ../newlog.log
    

    -0f 中的 0 是不复制现有的尾条目,并且只开始尾尾新条目。 tee 用于将标准输出重定向到另一个位置。正如人们所指出的,-a 选项用于附加到输出文件而不是覆盖它。

    【讨论】:

    • 追加使用 tee -a 因为他想添加每个新条目。
    • 感谢您的回复.. 我试过了,但它会将所有行从 maillog 复制到 newlog,但我只想将新条目(即将到来的条目)复制到 newlog 文件或条目里面有特定的关键字。
    • 在这种情况下执行tail -0f。 (已编辑)。 @devnull,感谢-a 编辑!
    • 如果你想添加一个特定的行,那么你必须使用 grep 就像我说的那样,所以用 puligilla 搜索该行并将该行添加到 newlog.log 你可以使用 grep -i "puligilla" / var/log/mail.log | tee -a newlog.log
    • tail -0f /var/log/maillog | tee -a ../newlog.log 为我工作...感谢您的快速回复和帮助。
    猜你喜欢
    • 1970-01-01
    • 2013-07-11
    • 2010-11-20
    • 2016-07-05
    • 2013-12-30
    • 1970-01-01
    • 1970-01-01
    • 2013-12-08
    • 1970-01-01
    相关资源
    最近更新 更多