tail监控日志关键字退出

我们在写shell脚本的时候,经常启动一个服务以后,需要等到他的日志打印出某些信息的时候才能启动下一个服务或者进行下一个操作。可以用此脚本实现

#!/bin/bash
#检测日志关键字 $1传递日志目录 $2传递关键字
check_wait_log () {
tail -n +0 -vfn0 $1 | while read line;
do
        echo $line
        #关键字出现后退出日志打印
        echo "$line" | grep "$2" >/dev/null 2>&1
        if [ $? = 0 ];then
                break
        fi

        #退出tail命令
        ps -aux | grep "tail -n" | grep -v "grep" | awk '{print $2}' | while read line;
        do
                kill -9 $line
        done
done
}

#当启动mysql服务以后,当mysql日志出现“ready for connections"关键字,则表示mysql可以进行连接了
check_wait_log /home/mysql/mysqld.log "ready for connections"
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容