请教一个脚本的写法

尼古甲 2017-08-24 08:57:14
一台主机上部有6个tomcat,如何在启动时能够让6个tomcat顺序的启动,就是当一个启动完后,再启动下一个。
我能想到的是通过日志判断是否有“Server startup in”的出现,如果有,再启动下一个。
请问这个脚本应该怎么写?
...全文
502 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
u010222066 2017-10-13
  • 打赏
  • 举报
回复
嗯,5楼的思路比1楼的要好,加入了循环等待,直到tomcat启动
qq_36576182 2017-10-11
  • 打赏
  • 举报
回复
测试下来效果如何?可以使用吗?
m0_37741553 2017-10-09
  • 打赏
  • 举报
回复
把tomcat全放到同一个目录下,如:/www/tomcat DIR= cd $DIR for i in t1 t2 t3 t4 t5 t6;do #清空日志 echo > $i/logs/catalina.out #启动tomcat $i/bin/startup.sh testnum=0 while [ $testnum != 3 ];do sleep 5;cat $i/logs/catalina.out|grep "Server startup in" > /dev/null if [ $? == 0 ];then break else testnum=$((testnum+1));fi done #while done if [ $testnum == 3 ];then echo "$i 未成功启动" ;exit ;fi done #for done 应该这样可以吧。。。。没试,直接再web上写的。
尼古甲 2017-08-30
  • 打赏
  • 举报
回复
我试过了,好像没用~~~
曹宇飞丶 2017-08-30
  • 打赏
  • 举报
回复
当然照搬是无法使用的,提供的只是一个思路而已。 当启动tomcat命令执行后,脚本马上就执行检查log了,当然不会取到Server startup in。 在检查log之前应该加入等待时间,等tomcat启动完成。
mxhmhl 2017-08-28
  • 打赏
  • 举报
回复
试试功能如何
曹宇飞丶 2017-08-25
  • 打赏
  • 举报
回复
#!/bin/bash #auth cy log1 = /tomcatlog1 log2 = /tomcatlog2 . . . log6 = /tomcatlog6 # 定义日志路径 tomcat1 start # 这里写启动tomcat命令 cat $log1 |grep "Server startup in" if [$? -eq 0] then echo "tomcat1 started" tomcat2 start # 这里写启动tomcat命令 cat $log2 |grep "Server startup in" if [$? -eq 0] then echo "tomcat2 started" . . . else echo "tomcat2 starting" fi else echo "tomcat1 starting" fi 看了一下大致有一个思路,还有更优的办法,懒得写了 。

19,614

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧