shell实现自动更新java web项目到Tomcat

#!/bin/sh
#-----------------------------------------------------------------------------
#备份
#-----------------------------------------------------------------------------
file=$(date '+%m-%d')
#备份class文件
echo $(date) 备份/opt/wwwroot/WEB-INF/下的文件
cd /opt/backups/
mkdir $file
cd $file
cp /opt/wwwroot/WEB-INF/ . -r
#-----------------------------------------------------------------------------
#更新
#-----------------------------------------------------------------------------
#停止tomcat
echo $(date) 关闭tomcat
cd /opt/apache-tomcat-6.0.36/bin/
./shutdown.sh
echo tomcat停止运行
#判断Tomcat是否已经停止工作
echo $(date) 判断tomcat是否停止工作,如果没有,则间隔一段时间后强制关闭
int=0
while (($int < 5))
do
        pid=$(ps aux|grep tomcat-|grep -v grep|awk '{print $2}')
        if [ "$pid" = "" ]
        then
                echo $pid 不存在
                int=5
        else
                echo $pid 存在,休息20s
                let "int++"
                sleep 20s
                if [ "$int" = "4" ]
                then
                        echo $(date) 强制关闭tomcat
                        kill -9 $pid
                fi
        fi
done
#备份log日志
echo $(date) 备份log日志
cd /opt/apache-tomcat-6.0.36/logs/
mv catalina.out catalina-$file.out
#拷贝更新文件
echo $(date) 把更新文件拷贝到运行目录
cd /home/shop/cc/
cp * /opt/wwwroot/ -r
#设置ulimit -n 65000
echo $(date) 设置ulimit
cd /opt/apache-tomcat-6.0.36/bin/
ulimit -n 65000
#启动
echo $(date) 启动tomcat
./startup.sh
#-----------------------------------------------------------------------------

编程技巧