测试需要:
持续监测日志,当日志出现指定关键字时,做一些工作。
使用的方法:
checklog() { while : do #记录日志文件行数 oldline=`wc -l < ${logfile}` echo `date`, $oldline #设定检查的频率,可以与日志输出的频率匹配 sleep 0.5 #新的日志中查找关键字 sed -n ''"${oldline}"',$p' ${logfile} | grep ${key} > /dev/null #$?是一个特殊变量,用来获取上一个命令的退出状态,或者上一个函数的返回值。 #如果上面的命令找到关键字则$?为0,此时打印提示并退出循环 if [[ $? -eq 0 ]] then echo `date` + " ${logfile} check finished! " break fi done }
有更好的方法可以分享下哦