兄弟们 ,如何shell日志,定时判断如果日志里有关键字,执行对应的命令

@Ta 2021-06-24 3674点击
兄弟们 ,如何shell日志,定时判断如果日志里有关键字,执行对应的命令
目前通过
cat /var/log/message|nail -n 1可以看到需要判断的哪一行命令,如何定时关键字比较
回复列表(5|隐藏机器人聊天)
  • @Ta / 2021-06-25 / /
  • @Ta / 2021-06-25 / /
    tail -F /var/log/message | while read line; do
       if [ "$line" = *"关键字"* ]; then
           echo "找到了关键字"
       fi
    done
    
  • @Ta / 2021-06-25 / /

    @freeor,↑

  • @Ta / 2021-07-19 / /
    while true; do
    # 检查ptp状态(Master 是ptp状态如果ptp正常显示update,如果不正常显示Master
    log=`cat /var/log/messages |grep "ptp4l"|tail -n 1|awk -F' ' '{printf$10}'`
        echo $log
    netstate=`ifconfig -a|grep "BROADCAST"|awk -F' ' '{printf$3}'`
    echo $netstate
    if [ "${log}" = "Master"]; then
    #if not exit start reboot
    # reboot
    if [ "${netstate}" = "RUNNING" ]; then
             echo "hello world"
    sleep 5
    fi
    sleep 5
    fi
    sleep 10
    done
    我这样写的  master和runner可以打印出来,Hello  world打印不出来
    @老虎会游泳
  • @Ta / 2021-07-19 / /

    @freeor,使用单步调试器,比如bashdb

添加新回复
回复需要登录