testOOM1.sh
#!/bin/sh
tomcatDir='/home/XXX/YYY/apache-tomcat-7.0.70/'
tomcatLog='logs/catalina.out'
tomcatLogTemp='logs/catalina_temp.out'
echo "testOOM1.sh 启动 $tomcatDir$tomcatLog"
if [ ! -f "$tomcatDir$tomcatLogTemp" ];then
echo "new create"
touch "$tomcatDir$tomcatLogTemp"
fi
echo "tomcatLogTemp : $tomcatDir$tomcatLogTemp"
tail -f -s 5 "$tomcatDir$tomcatLog" | grep --line-buffer '^java.lang.OutOfMemoryError:*' > "$tomcatDir$tomcatLogTemp" &
该脚本用于将catalina.out的指定以java.lang.OutOfMemoryError:开头的内容 重定向到指定文件中
tail命令注意 -f 循环输出 -s 指定多久打印一次 单位秒
其中 tail -f 多次grep过滤输出可能会出现的问题 内容不能及时输出到文件中 需要使用 --line-buffer 属性
1. 查看日志文件最后200行
tail -200 日志文件(打印出日志文件的最后200条信息)
tail -f -n 200 日志文件 (实时打印最新的日志信息)<