[Linux Shell] 检索 Apache Tomcat 日志关键字,包含则重启

# Apache Tomcat 日志监控
# 1. 检索 catalina.out 目录下的日志文件中是否包含关键字
# 2. 如果包含,停止 Tomcat 服务;
# 3. 删除包含关键字的 Tomcat 日志文件;
# 4. 重新启动 Tomcat 服务。

# Apache Tomcat 根目录
tomcatServerHome = "/usr/local/java/apache-tomcat-7.0.67"
# 需要检索的关键字
searchKeywords = "com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully"

echo "Enter apache-tomcat server home: ${tomcatServerHome}"
# 进入 Apache Tomcat 根目录
cd ${tomcatServerHome}

# 检索关键字在 logs/catalina.out 目录下所有文件中出现的次数。
matchesTimes = `grep "${searchKeywords}" ./logs/catalina.out/* | wc -l`

if [ $matchesTimes -gt 0 ] ; then
    # 如果出现了关键字
    echo "We find fatal logs! We will shutdown the tomcat and restart, please hold on......"
    # 检索出现关键字的文件名称数组
    errorFiles = `grep -l "${searchKeywords}" ./logs/catalina.out/*`
    echo "I will invoke tomcat shutdown.sh shell script, please hold on......"
    # 为了防止文件被占用,先调用 tomcat 提供的 shutdown 脚本,停止 Tomcat。
    ./bin/shutdown.sh
    echo "Tomcat was shutdown, i will delete error files!"
    # 进入目录,准备删除包含关键字的文件。
    cd ./logs/catalina.out
    for item in $errorFiles
    do
        # 强制删除。
        rm -f $item
    done
    # 退出到 Tomcat 根目录。
    cd ../../
    echo "The error files was deleted, I will re-start tomcat, please hold on......"
    # 调用 Tomcat 提供的 Startup 脚本,重启 Tomcat。
    ./bin/startup.sh
else
    # 没有满足条件的文件,直接退出。
    exit
fi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值