【问题标题】:Is it possible to output the last added/modified text in a file in the last hour?是否可以在最后一小时内输出文件中最后添加/修改的文本?
【发布时间】:2016-02-19 23:03:10
【问题描述】:

我正在使用 CronTab 安排每小时发送电子邮件,并在记录的文件 debug.log 中记录最新记录的错误

到目前为止,我设法将 CronTab 设置为发送一封包含最近 5 个记录错误的电子邮件(使用 shell 脚本)。问题是我不希望发送相同的错误:如果在 12 pm 发送了一个错误,我不希望它在 1 pm 再次发送,如果它在这 5 个中。

注意:我使用 5 作为随机数。这是为了测试我是否可以做到这一点。但我需要我之前提到的帮助。

我不需要知道如何发送电子邮件等等。我只需要知道如何输出过去一小时内记录在文件中的错误。

【问题讨论】:

  • 假设您的日志文件的条目上有时间戳,请调整您的脚本以仅提取自上次运行以来的新条目...

标签: bash shell crontab


【解决方案1】:

你可以试试下面的命令

tail -f 调试日志 | grep 'ERROR_INDICATOR' >> 错误日志

然后修改您的 crontab 作业脚本以在您发送电子邮件后立即删除 error.log 的内容。

【讨论】:

  • 什么是'ERROR_INDICATOR'?我找不到它的含义和作用?另外,它在哪里指定它需要是最近一小时的日志?
  • "ERROR_INDICATOR" 只是一个例子。并非日志文件中记录的所有行都是错误的。如果你只想要最后几行而不需要过滤,那么省略 grep
  • 但这不会输出过去一小时的错误
  • 您能否在上面的问题中放入 debug.log 的几个示例行?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-12-31
  • 1970-01-01
  • 2011-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-09
相关资源
最近更新 更多