脚本如下:
#!/bin/sh/usr/local/apache-tomcat-7.0.82/bin/shutdown.sh
pidlist=`ps -ef|grep 'java.*tomcat.*'|grep -v "grep"|awk '{primt $2}'`
if [ "$pidlist" = "" ]   
then
echo "no tomcat pid alive!"
else
echo "tomcat Id list :$pidlist"
kill -9 $pidlist
echo "service stop sucess"
fi
mkdir -p /tmp/back_up
mv /usr/local/apache-tomcat-7.0.82/webapps/activity-manage-*-SNAPSHOT.war  /tmp/back_up/activity-manage-*-SNAPSHOT.war
mv /usr/local/apache-tomcat-7.0.82/webapps/job-*-SNAPSHOT.war  /tmp/back_up/job-*-SNAPSHOT.war
mv /usr/local/apache-tomcat-7.0.82/webapps/manage-*-SNAPSHOT.war  /tmp/back_up/manage-*-SNAPSHOT.war
mv /usr/local/apache-tomcat-7.0.82/webapps/web-*-SNAPSHOT.war  /tmp/back_up/web-*-SNAPSHOT.war 
if [ $? -eq 0 ];then
scp -r [email protected]:/usr/local/apache-tomcat-7.0.61/webapps/com_java_ci/activity-manage-*-SNAPSHOT.war /usr/local/apache-tomcat-7.0.82/webapps
fi
if [ $? -eq 0 ];then
rm -rf /usr/local/apache-tomcat-7.0.82/webapps/activity-manage-*-SNAPSHOT
fi
if [ $? -eq 0 ];then
scp -r [email protected]:/usr/local/apache-tomcat-7.0.61/webapps/com_java_ci/job-*-SNAPSHOT.war /usr/local/apache-tomcat-7.0.82/webapps
fi
if [ $? -eq 0 ];then
rm -rf /usr/local/apache-tomcat-7.0.82/webapps/job-*-SNAPSHOT
fi
if [ $? -eq 0 ];then
scp -r [email protected]:/usr/local/apache-tomcat-7.0.61/webapps/com_java_ci/manage-*-SNAPSHOT.war /usr/local/apache-tomcat-7.0.82/webapps
fi
if [ $? -eq 0 ];then
rm -rf /usr/local/apache-tomcat-7.0.82/webapps/manage-*-SNAPSHOT
fi
if [ $? -eq 0 ];then
scp -r [email protected]:/usr/local/apache-tomcat-7.0.61/webapps/com_java_ci/web-*-SNAPSHOT.war /usr/local/apache-tomcat-7.0.82/webapps
fi
if [ $? -eq 0 ];then
rm -rf /usr/local/apache-tomcat-7.0.82/webapps/web-*-SNAPSHOT
fipidlist1=`ps -ef|grep 'java.*tomcat.*'|grep -v "grep"|awk '{print $2}'`
if [ "$pidlist1" = "" ]
   then
       echo "no tomcat pid alive!"
else
  echo "tomcat Id list :$pidlist1"
  kill -9 $pidlist1
  echo "KILL $pidlist1:"
  echo "service stop success"
fi————————————————————————————————
1.执行结果如下
no tomcat pid alive!
mv: cannot stat ‘/usr/local/apache-tomcat-7.0.82/webapps/activity-manage-*-SNAPSHOT.war’: No such file or directory
mv: cannot stat ‘/usr/local/apache-tomcat-7.0.82/webapps/job-*-SNAPSHOT.war’: No such file or directory
mv: cannot stat ‘/usr/local/apache-tomcat-7.0.82/webapps/manage-*-SNAPSHOT.war’: No such file or directory
mv: cannot stat ‘/usr/local/apache-tomcat-7.0.82/webapps/web-*-SNAPSHOT.war’: No such file or directory
job-0.0.1-SNAPSHOT.war                                                                                                                   100%   53MB  52.6MB/s   00:00    
manage-0.0.1-SNAPSHOT.war                                                                                                          100%   48MB  47.6MB/s   00:01    
web-0.0.1-SNAPSHOT.war                                                                                                                  100%   49MB  49.5MB/s   00:01    
no tomcat pid alive!问题:为啥mv命令行下第一个scap的语句没有执行,即scp -r [email protected]:/usr/local/apache-tomcat-7.0.61/webapps/com_java_ci/activity-manage-*-SNAPSHOT.war /usr/local/apache-tomcat-7.0.82/webapps没有执行,activity-manage-*-SNAPSHOT.war没有拷贝

解决方案 »

  1.   

    sh -x 调试模式
    mv命令没有执行吧,No such file or directory
      

  2.   

     /usr/local/apache-tomcat-7.0.82/webapps/web-*-SNAPSHOT.war 这个文件存在吗?
    错误提示是不存在哈。
    第一个scp的语句没有执行是因为有一个判断:if [ $? -eq 0 ];
    而上面mv 语句执行失败,所以判断结果不匹配,scp 也不执行了。
      

  3.   

    pidlist=`ps -ef|grep 'java.*tomcat.*'|grep -v "grep"|awk '{primt $2}'` 应该为print 吧