bash 脚本将 15 行或更多日志输出到文件(如果日志发生在 15 分钟时间范围内)

bash 脚本将 15 行或更多日志输出到文件(如果日志发生在 15 分钟时间范围内)

我希望创建一个每天通过 cron 作业运行的脚本:

  • 如果日志发生在 15 分钟时间范围内并且包含关键字“disconnects”,则将 15 行或更多日志输出到文件
  • 脚本运行完毕后通过电子邮件发送文件的输出

这是一个示例日志:

May 13 12:23:06 10.0.0.1 syslog: eventd_to_syslog():User[00:00:00:00:00:00] disconnects from WLAN[SSID-Name] at AP[AP-Name@00:00:00:00:00:00]

我创建了下面的脚本来按 AP 和日期/时间解析和排序 logfile.log。我只需将 15 分钟内发生的任何断开连接的频繁日志输出到文件中,然后通过电子邮件将该文件发送给我们的网络团队。

#!/bin/bash
filename='aplist'
filelines=`cat $filename`
for line in $filelines; do
    grep -v Guest logfile.log | grep disconnects | sort -k 11 > 1-test-output
done

相关内容