首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

自动批改war配置文件,自动部署

2012-08-25 
自动修改war配置文件,自动部署##打开war文件rm -rf /upload/app/tempmkdir /upload/app/tempcd /upload/ap

自动修改war配置文件,自动部署
##打开war文件
rm -rf /upload/app/temp
mkdir /upload/app/temp
cd /upload/app/temp
cp /upload/app/SCM.war /upload/app/temp/
jar xvf /upload/app/temp/SCM.war
rm -rf /upload/app/temp/SCM.war
##拷贝配置文件
sh /upload/config.sh

##重新打包
cd /upload/app/temp
jar -cvfM0 /upload/app/temp/dabichong.war  ./*

##备份文件到/upload/app_bak
##jar -cvfM0 dabichong.war  /usr/share/tomcat/apache-tomcat-7.0.22/
cp /usr/share/tomcat/apache-tomcat-7.0.22/webapps/dabichong.war /upload/app_bak/dabichong_$(date +%Y%m%d-%H%M%S).war
rm -rf /usr/share/tomcat/apache-tomcat-7.0.22/webapps/dabichong.war
rm -rf /usr/share/tomcat/apache-tomcat-7.0.22/webapps/dabichong

##重启tomcat
sh /usr/share/tomcat/apache-tomcat-7.0.22/bin/shutdown.sh
cp /upload/app/temp/dabichong.war /usr/share/tomcat/apache-tomcat-7.0.22/webapps/dabichong.war
sh /usr/share/tomcat/apache-tomcat-7.0.22/bin/startup.sh



==================config.sh========================
cp -r -f /upload/config/open.top.properties  /upload/app/temp/WEB-INF/classes/com/hupun/scm/top/open.top.properties


=================备份脚本============================

tomcat_path=/home/apache-tomcat-7.0.22
upload_path=/upload
upload_app_path=${upload_path}/app
back_db_path=${upload_path}/sql
alter_db_bak_path=${upload_path}/sql_bak
alter_sql_file=${upload_app_path}/alter_$(date +%Y_%m_%d).sql

##备份文件到${upload_app_path}_bak
cp ${tomcat_path}/webapps/scm.war ${upload_app_path}_bak/scm_$(date +%Y%m%d-%H%M%S).war
echo 'app backup ok'


##备份数据库文件
sh ${back_db_path}/backupDb.sh
echo 'backup ok'

##判断当天的更新脚本是否存在
if [ -f "$alter_sql_file" ]; then
  echo "$alter_sql_file exist add sql"
  mysql -uxxxx -pxxxx scm_xxxx < $alter_sql_file
  cp -rf $alter_sql_file $alter_db_bak_path/alter_$(date +%Y%m%d-%H%M%S).sql
  rm -rf $alter_sql_file
  echo '---------update db ok----------'
else
  echo "---------not exist alert sql-------"
fi


-----------------------ftp拉去文件脚本ftpGet.sh---------------------------


#!/bin/sh
F="xxxx.ftp"
echo "open hupun.xxxx.xxxx 21"     > $F
echo "user hupun xxxx"     >> $F
echo "bin"                      >> $F
#echo "cd /upload/app"            >> $F
echo "mget $1 $2 $3"                  >> $F
echo "bye"                      >> $F
ftp  -in < $F
rm -rf $F


---------------------------ftpPut.sh-------------------------

#!/bin/sh
F="xxxx.ftp"
echo "open hupun.xxx.xxxx 21"     > $F
echo "user hupun xxxx"     >> $F
echo "bin"                      >> $F
#echo "cd /upload/app"            >> $F
echo "mput $1 $2 $3"                  >> $F
echo "bye"                      >> $F
ftp  -in < $F
rm -rf $F


==================================最新备份脚本==========================

tomcat_path=/home/apache-tomcat-7.0.22
upload_path=/upload
upload_app_path=${upload_path}/app
back_db_path=${upload_path}/sql
alter_db_bak_path=${upload_path}/sql_bak
alter_sql_file=${upload_app_path}/alter_bus_$(date +%Y_%m_%d).sql
app_file=wanliniu
upload_app_temp_path=/upload/app_bak/bak_temp
app_bak_path=/upload/app_bak

##备份war文件到${upload_app_path}_bak
##cp ${tomcat_path}/webapps/${app_file}.war ${upload_app_path}_bak/${app_file}_$(date +%Y%m%d-%H%M%S).war

##直接备份系统执行的包
rm -rf ${upload_app_temp_path}
mkdir ${upload_app_temp_path}
##拷贝文件
cp -a ${tomcat_path}/webapps/${app_file}/* ${upload_app_temp_path}/

cd ${upload_app_temp_path}
##压缩
jar -cvfM0 ${app_bak_path}/${app_file}_file_$(date +%Y%m%d-%H%M%S).war  ./*
cd ${upload_app_path}
echo 'app backup ok'


##备份数据库文件
sh ${back_db_path}/backupDb.sh
echo 'backup ok'

##判断当天的更新脚本是否存在
if [ -f "$alter_sql_file" ]; then
  echo "[warn]only update bus cur bus db:  you must check!!!!"
  echo "$alter_sql_file exist add sql"
  mysql -uroot -pxxxx -hxxx.xxx.xxx.xxx db_1 < $alter_sql_file
  mysql -uroot -pxxxx -hxxx.xxx.xxx.xxx db_2 < $alter_sql_file
  cp -rf $alter_sql_file $alter_db_bak_path/alter_bus_$(date +%Y%m%d-%H%M%S).sql
  rm -rf $alter_sql_file
  echo '---------update bus db ok----------'
else
  echo "---------not exist alert bus update sql-------"
fi


==================================================================

1.linux kill tomcat shell 脚本

#!/bin/sh
#kill tomcat pid
pidlist=`ps -ef|grep tomcat | grep -v "grep"|awk '{print $2}'`
#ps -u $USER|grep "java"|grep -v "grep"
echo "tomcat Id list :$pidlist"
if [ "$pidlist" = "" ]
then
  echo "no tomcat pid alive"
else
  for pid in ${pidlist}
{
   kill -9 $pid
echo "KILL $pid:"
echo "service stop success"
  }
fi



如果有提示 一个什么什么错误可以在

vi命令模式

原因这通常都是由于windows下对文本文件的保存格式与unix下不同造成的,windows下回车的字符是’\r\n’,而linux下是’\n’。2 解决方法vi file在命令模式下,输入 setff=? ,查看文件格式为dos或者unix,如:setff=unixw保存,即可



2.linux kill某一用户的所有tomcat进程

start.sh

#!/bin/sh

PRG="$0"
while [ -h "$PRG" ]; do
  ls=`ls -ld "$PRG"`
  link=`expr "$ls" : '.*-> \(.*\)$'`
  if expr "$link" : '/.*' > /dev/null; then
    PRG="$link"
  else
    PRG=`dirname "$PRG"`/"$link"
  fi
done

# Get standard environment variables
PRGDIR=`dirname "$PRG"`
TMS_HOME=`cd "$PRGDIR"/.. ; pwd`
$JAVA_HOME/bin/java -jar $TMS_HOME/bin/tms.jar

stop.sh

ps aufx|grep tomcat|grep 509|awk '{print $2}'|xargs kill -9  或

ps -ef|grep tms.jar|grep -v grep|awk '{print $2}'|xargs kill

509替换为要kill的用户名

有时直接用shutdown.sh关闭不了tomcat,要强制kill掉,但是可能tomcat启动了多次,进程里已经有了多个tomcat进程,一个一个关闭相当麻烦,可以使用以上命令一次性关闭某一个用户所有tomcat进程。



start.bat

@echo off
::cd %~dp0
echo Start Server ...
java -jar "%~sdp0tms.jar"

热点排行