我想使用 tail -f 监控 SystemOut.log 文件,所以我尝试并坚持使用 tail -f ,这不允许我同时执行其他操作。我可能错过了一些事情,你们可以帮助我。我搜索但无法得到答案。
问题:每 5 分钟,我将触发以下脚本以使用带有 grep 的 tail -f 计算“字符串”出现次数并将其写入名为 msg.txt 的文件(它的 solaris 所以 -q 在 grep 中不起作用,欢迎在这里提出任何建议)
同时,计算字符串出现次数并检查计数是否达到 10,然后触发带有 msg.txt 文件的电子邮件。最后,停止while,一旦达到计数值10,我不希望它继续。这个程序将每5分钟触发一次,我只想确保它在计数达到10时终止。我将如何停止这个脚本如果计数在 5 分钟内没有达到 10,因为它会再次被触发?
while true ; do
tail -f SystemOut.log | grep "string" > msg.txt # SystemOut.log for currently running process
Count = Count + 1
if test $Count == 10
mail -s "Email Subject" abc@abc.com < msg.txt
break
fi
done
以不同的方式重写相同的内容,但是 grep -c 对文件的喊叫无法打开我不知道是什么导致了问题。非常感谢任何帮助。
虽然是真的;
做
COUNT_1= grep -c "搜索字符串" LOG_FILE
sleep 300
COUNT_2= grep -c "搜索字符串" LOG_FILE COUNT= [[ $COUNT_2-$COUNT_1]]
如果 [[ $COUNT > 10 ]]
则回显 $COUNT fi
完毕