需要适当的grep功能才能从脚本执行时开始进行grepping。
我正在研究用于自动重启Weblogic服务器的脚本。 我的脚本使用一行代码,该代码行将继续对字符串进行grepping,如果在日志中找到该字符串,它将执行下一组命令。
有两台服务器组成的集群:1台管理员服务器和2台托管服务器(Node2和Node1)。
所需的模式是, 停止N2,开始N2,停止N1,开始N1
#startN2
nohup sh startstopAIA2.sh start > N2Start.out &
sleep 1s
until fgrep -q "accepting" /path/logs/AIAPPD2D_SOA2.out; do sleep 1;
done
sleep .5s
echo "N2 is running. Proceeding to restart N1"
#stopN1
现在,AIAPPD2D_SOA2.out是文件的庞然大物,几乎不会旋转。另外,当“ until fgrep”部分从先前的重新启动中看到现有的“ accepting”字符串时,它将继续执行N1的重新启动,该操作应等到N2完全启动为止。
日志文件已盖章。 “ SOA平台正在运行并正在接受请求 “
如果我的“直到...”可以从其执行的实例而不是整个文件中开始对文件进行grep操作,那就太好了。