Tomcat错误检查器使用bash

有人能给我一些亮光,指向正确的方向吗?

我想在bash中创build一个脚本,在Tomcat应用程序启动期间检查日志中的exception。 这个脚本应该能够通过inotify来dynamic检测新文件的创build。

该脚本应该不断检查日志文件中新行的日志目录,并将包含单词Exception:ERROR文件写入/var/log/errorcheckernotifier.txt

当脚本检测到这一行INFO: Server startup in时应该在/var/log/errorcheckernotifier.txt写入TOMCAT IS STARTED ,并在启动过程中检测到exception的数量。

这个脚本不应该覆盖errorcheckernotifier.txt中的errorcheckernotifier.txt 。 追加它。

我怎样才能保持这个脚本运行,并检测进一步的启动,计数exception等

我可以给你我的tomcat初始化脚本的“开始”部分,如果有帮助的话。

    开始)
         echo -n“Starting $ FOO_BASE_JM”
         ##用startproc(8)启动守护进程。 如果失败了
         ##返回值由startproc适当设置。

        如果ps -efwwwwwwwwwwwwww |  grep java |  grep -q“$ FOO_BASE_JM”; 然后
                回声“处理$ FOO_BASE_JM已经存在”
                 rc_failed 1
        其他

         LOGLINES = $(cat /opt/$FOO_BASE_JM/logs/catalina.out | wc -l)

        导出CATALINA_OPTS
         ######## / sbin / startproc $ FOO_BIN
         if [“$(id -un)”=“tomcat”]; 然后
          $ FOO_BIN start ||  rc_failed 1
        其他
          / bin / su tomcat $ FOO_BIN start ||  rc_failed 1
        科幻

        回声-n“等待进程出现”
        重量= 0
         process_seen =真
        而!  ps -efwwwwwwwwwwwwww |  grep java |  grep -q“$ FOO_BASE_JM”; 做
                睡2
                回声-n。
                重量= $(($重量+ 1))
                 if [“$ wt”-gt 30]; 然后
                        回声
                        回声“超时:看不到进程,你应该检查日志。
                         rc_failed 1
                         process_seen = FALSE
                        打破
                科幻
         DONE
        如果[“x $ process_seen”=“xtrue”]; 然后
         回声
         回声-n“等待启动”。
         重量= 0
         而!  tail + $ LOGLINES /opt/$FOO_BASE_JM/logs/catalina.out |  grep -q“INFO:服务器启动”; 做
                睡2
                回声-n。
                重量= $(($重量+ 1))
                 if [“$ wt”-gt 30]; 然后
                        回声
                        回声“超时:找不到日志中成功启动服务器的迹象,请检查。”
                         rc_failed 1
                        打破
                科幻
          DONE
          tail + $ LOGLINES /opt/$FOO_BASE_JM/logs/catalina.out |  grep -q“INFO:服务器启动”&& tail + $ LOGLINES / opt / $ FO
 O_BASE_JM / logs / catalina.out |  grep“信息:服务器启动”
        科幻

         fi#如果没有进程存在

         #记住状态和详细
         rc_status -v
         ;;

作为替代,我可以build议使用像Nagios这样的监视工具,在catalina.out文件(或者任何你要login的地方)指向它的一个日志监视插件,然后search新的错误string或者任何你感兴趣的东西。 在我们的Oracle数据库上,完美的工作。