通过shell脚本进行版本升级

  • Post author:
  • Post category:其他


通过编写一个shell脚本,来实现进程的关闭, 升级前的版本备份, 版本包从FTP服务器上的获取, 自动替换文件和包目录, 进程的启动,进程的检查功能

eg:

#!/bin/sh

export LANG=en_US.UTF-8

time=`date “+%Y%m%d%H”`

nowtime=`date “+%Y%m%d%H%M”`

##升级前对进程的关闭,和对缓存的清理

echo “======开始关闭进程=======”

ps -ef | grep java | grep jboss-4.0.5.GA  |  awk ‘{print $2}’|xargs kill -9

echo “====删除进程成功====”

echo “====开始清理缓存====”

rm -rf  /opt/jboss-4.0.5.GA/server/default/tmp/*

rm -rf /opt/jboss-4.0.5.GA/server/default/work/*

echo “====清理缓存成功====”

##进行war包的备份

echo “======开始备份版本=======”

cp /opt/jboss-4.0.5.GA/server/default/deploy/csms.war   /opt/back/bak_${time}_test.war

if [ -f /opt/back/bak_${time}_test.war ]

then

echo  “===版本包备份成功===”

rm  /opt/jboss-4.0.5.GA/server/default/deploy/test.war

else

echo  “===版本包备份失败, 退出升级===”

exit 1

fi

#获取war包,上传war包

echo “====开始上传版本 =====”

cd /opt/jboss-4.0.5.GA/server/default/deploy/

lftp  -u   sftp_test,ftp_password  sftp://172.18.102.11  <<EOF

cd /migudata/deploy/test

get  test.war

bye

EOF

if [ -f /opt/jboss-4.0.5.GA/server/default/deploy/test.war ]

then

echo “====上传版本成功====”

else

echo “====上传版本失败 ,退出升级 ====”

exit  1

fi

#获取需要修改的配置文件

echo  “====开始获取和替换相关配置文件=====”

cd /opt/back/temp/csms

lftp  -u   sftp_csms,ZSE\$cft6999  sftp://172.18.214.24 <<EOF

cd /migudata/sftp_csms/deploy/csms

get BatchPageGenerateTemplate.xls

get cache.properties

get system-config.xml

…….

bye

EOF

#获取配置文件,备份需要替换的文件,替换配置文件

echo “====开始备份,上传, 替换 配置文件信息====”

list=`ls /opt/back/temp/csms `

if [ -z $list ]

then

echo “===本次升级,没有需要替换的配置文件===”

else

for sourcepath in $list

do

cd /opt/back/temp/csms

changefile=`find /opt/jboss-4.0.5.GA/bin/csmsconfig -name $sourcepath `

echo -e “====开始备份 ${sourcepath}====”

cp  $changefile /opt/back/back_csms__${time}_${sourcepath}

if [ -f /opt/back/back_csms__${time}_${sourcepath} ]

then

echo “====备份文件${sourcepath}成功=====”

else

echo “====备份文件${sourcepath}失败=====”

exit 1

fi

echo “====开始替换${changefile}=====”

mv  /opt/back/temp/csms/${sourcepath}  $changefile

echo “====替换${changefile}成功====”

done

fi

#开始启动进程

echo “====开始版本升级====”

cd /opt/jboss-4.0.5.GA/bin

sh  start.sh

echo “====后台进程正在启动中====”

sleep 25s

ps -ef |grep jboss-4.0.5.GA | grep -v grep

if [ $? -eq 0 ]

then

echo “===启动成功===”

else

echo “===进程启动失败===”

exit 1

fi



版权声明:本文为wuxu_nanjing原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。