我编写了一个 shell 脚本,它读取更新日志,并在出现 OOM 时使用 do while 循环发送电子邮件通知。
我可以收到 OOM 错误的电子邮件通知,但每次发送的电子邮件都会生成重复的 PID,当我针对该特定进程/管理服务器 (weblogic) 进行 grep 时,会产生大量重复的 PID。PFB 我的脚本,有什么方法可以避免重复的 PID,并且在执行 grep 时只能获取父 PID。
#!/bin/sh
# Script to read the updating log file and send mail for any errors : LogCheck.sh
# SET VARIABLES
logfile=BEA_HOME/SERVERS/Admin.log
pattern="java.lang.OutOfMemoryError: Java heap space"
#Read each line as it gets updating to the log file
tail -fn0 $logfile | while read line ; do
#check each line for our pattern
echo "$line" | grep -i "$pattern"
#Perform the below action if a line matches with our pattern
if [ $? = 0 ];
then
#Send an email
echo "Found an error: $line" | mailx -s "please check the error" emailID
fi
done
答案1
答案2
ps wp PID|grep PID
如果没有 grep 您就无法做到这一点 - 您会发现使用 grep 您可以删除标题..