面试题答案
一键面试#!/bin/bash
cpu_count=0
while true; do
new_lines=$(tail -n +$(($(wc -l < app_monitor.log)+1)) app_monitor.log)
for line in $new_lines; do
event_type=$(echo $line | awk '{print $2}')
if [ "$event_type" = "CPU使用率过高" ]; then
cpu_count=$((cpu_count + 1))
if [ $cpu_count -eq 5 ]; then
cpu_events=$(grep "CPU使用率过高" app_monitor.log | tail -n 5 | awk '{print $1 " " $3}')
echo "以下是连续5次CPU使用率过高事件:$cpu_events" | mail -s '应用程序警报' admin@example.com
cpu_count=0
fi
else
cpu_count=0
fi
done
sleep 1
done