lichaoyue888 发表于 2018-12-6 07:07:59

用于tomcat 更新war包的脚本。

自定义公共bash脚本文件/usr/local/scripts/pub/functionshttp://blog.运维网.com/xinbuq/images/editer/InBlock.gif##Log the memseges to facility
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifLoging (){
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifif [ -z $LOGFILE ];then
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif[ ! -d /var/log/scripts ] && mkdir -p /var/log/scripts
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifLOGFILE=/var/log/scripts/`basename $0`.log
http://blog.运维网.com/xinbuq/images/editer/InBlock.giffi
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifif [ "$1"="-s" ];then
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifecho "`date +"%G-%m-%d %H:%M:%S"` $2" | tee -a $LOGFILE && return 0
http://blog.运维网.com/xinbuq/images/editer/InBlock.giffi
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifecho "`date +"%G-%m-%d %H:%M:%S"` $1" >> $LOGFILE
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif}
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
##Upload file to ftp servers
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif#You must Define variables needed,eg:
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif#                FTPSERVER=192.168.80.220
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif#                FTPLOGIN=backup
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif#                FTPASSWORD=hc360bak
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif#                FTP_SUBDIR=$1
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif#                CMD_LIST=( ls "lcd $1"    )
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
ftp_f (){
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif#SUBDIR=$FTP_SUBDIR
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifif [ -z $CMD_LIST    ];then
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifLoging -s    "WARNING:The CMD_LIST is null,and nothing can be excuted."
http://blog.运维网.com/xinbuq/images/editer/InBlock.giffi
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
[ -z $FTPSERVER ] && Loging -s "WARNING:The FTPSERVER is null,and the ftp server mybe not login."
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif[ -z $FTPLOGIN ] && Loging    -s    "WARNING:The FTPLOGIN is null,and the ftp server mybe not login."
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif[ -z $FTPPASSWORD ] && Loging -s "WARNING:The FTPPASSWORD is null,and the ftp server mybe not login."
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifecho "machine $FTPSERVER login $FTPLOGIN    password \"$FTPPASSWORD\"" >~/.netrc
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifchmod 600 ~/.netrc
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
#Create command list file
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifi=0
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifwhile [ $i -lt ${#CMD_LIST
[*]} ]
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifdo
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifecho "${CMD_LIST[${i}]}" >>~/.cmd_list
http://blog.运维网.com/xinbuq/images/editer/InBlock.giflet i=$i+1
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifdone
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
[ $? -eq 0 ] && Loging "INFO:Create comand file \"cmd_list\" is successful."
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
#ensure ftp can be closed
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifecho "bye" >>~/.cmd_list
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
ftp $FTPSERVER    >$PROFILE
http://blog.运维网.com/xinbuq/images/editer/InBlock.giffi
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif#Import the project var
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif. $PROFILE
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
#if project is not exist and create var
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifeval PROJECT=\$D_$1
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifif [ -z $PROJECT ];then
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifecho "export D_${1}=`date +"%G%m%d"`:0" >>$PROFILE
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifPROJECT="`date +"%G%m%d"`:0"
http://blog.运维网.com/xinbuq/images/editer/InBlock.giffi
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
#export the var
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifDATE=`echo $PROJECT|awk -F: '{print $1}'`
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifCOUNT=`echo $PROJECT|awk -F: '{print $2}'`
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
if [ "$DATE" != `date +"%G%m%d"` ];then
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifLoging -s "INFO:The date is expire,and initate date and count."
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifDATE=`date +"%G%m%d"`
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifCOUNT=0
http://blog.运维网.com/xinbuq/images/editer/InBlock.giffi
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
export DATE COUNT
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
}
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif## Write variable to profile config file
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifwrite_v(){
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
if [ -z $PROFILE ];then
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifPROFILE=/etc/profile.d/deploy.sh
http://blog.运维网.com/xinbuq/images/editer/InBlock.giffi
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifsed -i /D_${1}/s/=.*/=${DATE}:$COUNT/g    $PROFILE
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif}
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
##Define help function
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifhelp () {
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifecho -e "Usage:deploy.sh \n"
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifecho -e "Usage:deploy.sh roll number "
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifecho -e "Command:"
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifecho -e "\tdeploy                     Deploy the project from ftp downloading *.war,and deploying. "
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifecho -e    "\tdeployb                     Backup the old project files or dirs,first,And than deploy the war from remote."
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifecho -e "\tbackup                     Backup the old project files or dirs."
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifecho -e "\troll:number                        Roll back the backup files    from backup ftp,the number default is last count of backup file"
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifecho -e "eg.:"
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifecho -e "\tdeploy.sh    deploy info"
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif}
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
##Download file from remote server.
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifdownload_f (){
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif

http://blog.运维网.com/xinbuq/images/editer/InBlock.gifif [ -z $1 ];then
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifLoging    "ERROR:Please speciafied argument for download_f func." && return 1
http://blog.运维网.com/xinbuq/images/editer/InBlock.giffi
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
local R_PATH=`dirname $1`
http://blog.运维网.com/xinbuq/images/editer/InBlock.giflocal R_FILENAME=`basename $1`
http://blog.运维网.com/xinbuq/images/editer/InBlock.giflocal L_PATH=/tmp
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
Loging -s "INFO:Begin download project file from remote server."
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifCMD_LIST=( "bin" "cd $R_PATH" "lcd $L_PATH" "get $R_FILENAME" "bye" )
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifftp_f
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
if [ $? -ne 0 ];then
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifLoging -s "ERROR:Download $R_FILENAME is failure!" && return 1
http://blog.运维网.com/xinbuq/images/editer/InBlock.giffi
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifreturn 0
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif}
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif

http://blog.运维网.com/xinbuq/images/editer/InBlock.gif##Shutdown server
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifsrv_shutd (){
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif#kill mutipl process of server
http://blog.运维网.com/xinbuq/images/editer/InBlock.giffor i in `ps -ef|grep $1|grep -v grep|awk '{print \$2}'`
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifdo
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifkill -9 $i
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifdone
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif[ $? -eq 0 ] && Loging "INFO:Shutdown server is successfull!"
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifreturn 0
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif}
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif

http://blog.运维网.com/xinbuq/images/editer/InBlock.gifsrv_start(){
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifif [ -z $TOMCAT_HOME ];then
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifTOMCAT_HOME=/usr/local/tomcat6
http://blog.运维网.com/xinbuq/images/editer/InBlock.giffi
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif#export java envirment variables
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif. /etc/profile.d/java.sh
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
##clear server cache files
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifrm -rf $TOMCAT_HOME/work/*
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
$TOMCAT_HOME/bin/startup.sh
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif}
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif

http://blog.运维网.com/xinbuq/images/editer/InBlock.gif##Backup the old directory
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifbackup_f (){
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
#define the variables of function
http://blog.运维网.com/xinbuq/images/editer/InBlock.giflocal BACKUP_BASE_PATH=`dirname $1`
http://blog.运维网.com/xinbuq/images/editer/InBlock.giflocal BACKUP_DIR=`basename $1`
http://blog.运维网.com/xinbuq/images/editer/InBlock.giflocal BACKUP_FILE=${BACKUP_DIR}.bak${COUNT}.tar.gz
http://blog.运维网.com/xinbuq/images/editer/InBlock.giflocal EXCLUDE=
http://blog.运维网.com/xinbuq/images/editer/InBlock.giflocal BACKUP_COMMAND="tar -C $BACKUP_BASE_PATH -zcvf $BACKUP_FILE $BACKUP_DIR    $EXCLUDE"
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
if [ ! -d $1 -a ! -f $1 ];then
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifLoging    "ERROR:The $1 directory or file is not exsit! " && continue
http://blog.运维网.com/xinbuq/images/editer/InBlock.giffi
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
if [ -z "$BACKUP_COMMAND" ];then
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifLoging    "ERROR:Backup command is not defined!" && return 1
http://blog.运维网.com/xinbuq/images/editer/InBlock.giffi
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
#execute command
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifecho $BACKUP_COMMAND
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif$BACKUP_COMMAND    2>&1 >/dev/null
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
if [ $? -eq 0 ];then
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifLoging    -s "INFO: $BACKUP_FILE   is made successful!"
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifelse
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifLoging    -s "ERROR: $BACKUP_FILE is made    failure!" && return 1
http://blog.运维网.com/xinbuq/images/editer/InBlock.giffi
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
#upload file to remote ftp server
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifCMD_LIST=( "mkdir $DATE" "cd $DATE" "mkdir backup" "cd backup" "put $BACKUP_FILE" "bye" )
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifftp_f
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
if [ $? -eq 0 ];then
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifLoging    -s "INFO:Backup $BACKUP_FILE to remote is successful!"
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifrm -rf $BACKUP_FILE
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifelse
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifLoging -s "ERROR:Backup $BACKUP_FILE is failure!" && return 1
http://blog.运维网.com/xinbuq/images/editer/InBlock.giffi
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
return 0
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
}
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif

http://blog.运维网.com/xinbuq/images/editer/InBlock.gif#Roll backup file    from ftp server,usage: roll_f
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifroll_f (){
http://blog.运维网.com/xinbuq/images/editer/InBlock.giflocal PORJECT=$1
http://blog.运维网.com/xinbuq/images/editer/InBlock.giflocal ROLL_COUNT=$2
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
if [ -z $ROLL_COUNT ];then
http://blog.运维网.com/xinbuq/images/editer/InBlock.giflet ROLL_COUNT=$COUNT-1
http://blog.运维网.com/xinbuq/images/editer/InBlock.giffi
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif

http://blog.运维网.com/xinbuq/images/editer/InBlock.gif#Download backup files from remote ftp.
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifdownload_f $DATE/backup/${PORJECT}.bak$ROLL_COUNT.tar.gz
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
if [ ! -f /tmp/${PORJECT}.bak$ROLL_COUNT.tar.gz ];then
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifLoging "ERROR:Roll back failuer,mybe the /tmp/${PORJECT}.bak$ROLL_COUNT.tar.gz is not exist!"
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifreturn 1
http://blog.运维网.com/xinbuq/images/editer/InBlock.giffi
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
rm -rf /tmp/$PORJECT
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
tar -C /tmp -zxvf /tmp/${PORJECT}.bak$ROLL_COUNT.tar.gz    >>/dev/null
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
if [ ! -d /tmp/$PORJECT ];then
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifLoging    "ERROR:The /tmp/$PORJECT is not exsit.Exit!"
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifreturn 1
http://blog.运维网.com/xinbuq/images/editer/InBlock.giffi
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
#Shutdown    server of tomcat
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifsrv_shutd tomcat
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifif [ $? -ne 0 ];then
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifLoging "ERROR:Shutdown server failure."   
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifreturn 1
http://blog.运维网.com/xinbuq/images/editer/InBlock.giffi
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
#Clear apps files
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
rm -rf $APPS_BASE/$PORJECT
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifrm -rf $APPS_BASE/${PORJECT}.war
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifmv /tmp/$PORJECT $APPS_BASE/
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
srv_start
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
if [ $? -eq 0 ];then
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifLoging "INFO:Move roll back files is successfull!"
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifelse
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifLoging -s "ERROR:roll back failure!" && return 1
http://blog.运维网.com/xinbuq/images/editer/InBlock.giffi
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
}
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif

http://blog.运维网.com/xinbuq/images/editer/InBlock.gif##Deploy new files to server
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifdeploy_f (){
http://blog.运维网.com/xinbuq/images/editer/InBlock.giflocal PROJECT=$1
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif#Download new files package from remote ftp.
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
#remove old app file and then download new file
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif#rm -rf /tmp/$PROJECT.war
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifdownload_f $DATE/$PROJECT.war
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifif [ ! -f /tmp/${PROJECT}.war ];then
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifLoging "ERROR:deploy failuer,mybe the /tmp/$PROJECT.war is not exist!"
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifreturn 1
http://blog.运维网.com/xinbuq/images/editer/InBlock.giffi
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
srv_shutd tomcat
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifif [ $? -ne 0 ];then
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifLoging    -s "ERROR:Shutdown server failure."
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifreturn 1
http://blog.运维网.com/xinbuq/images/editer/InBlock.giffi
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
#Clear the project in server
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifrm -rf $APPS_BASE/$PROJECT
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifrm -rf $APPS_BASE/$PROJECT.war
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
mv /tmp/$PROJECT.war $APPS_BASE/
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
#Start server
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifsrv_start || return 1
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifLoging -s "INFO:Start server is ok!"
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif}
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif

http://blog.运维网.com/xinbuq/images/editer/InBlock.gifset_var () {
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif##Start scripts
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif#FTPSERVER=101.251.113.247
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif#FTPLOGIN=hdong
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif#FTPPASSWORD="ECHwey81"
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
##MMT ftp authentication
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
FTPSERVER=101.251.113.247
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifFTPLOGIN=zhounan
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifFTPPASSWORD="123ZXC,./"
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
CMD_LIST=( ls "lcd $1"    )
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifPROFILE=/etc/profile.d/deploy.sh
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
if [ -Z $TOMCAT_HOME    ];then
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifread -t20 -p "The variable $TOMCAT_HOME is null,Please specify the TOMCAT_HOME path:" TOMCAT_HOME
http://blog.运维网.com/xinbuq/images/editer/InBlock.giffi
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
TOMCAT_HOME=${TOMCAT_HOME:-"/usr/local/tomcat6"}
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
read -t10 -p "The apps default base path is \$TOMCAT_HOME/webapps,are you sure change it (Y/N):" FG
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
case $FG in
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
y|Y|yes|YES|Yes) read -t 30 -p "Please input:" APPS_BASE ;;
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
*) APPS_BASE=$TOMCAT_HOME/webapps
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifesac
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
}
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
###############################################Debug###############
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
#######################end#######################################
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif

http://blog.运维网.com/xinbuq/images/editer/InBlock.gifcd ~
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
#Initate variables
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
init_v $2
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
Loging -s "INFO:Initated variables complete.DATE=$DATE,COUNT=$COUNT."
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif

http://blog.运维网.com/xinbuq/images/editer/InBlock.gifcase $1 in
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif   "deploy")shift
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                        if [ -z    $1    ];then
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                           help
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                        fi
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                        #Define variables
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                        set_var
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                        #Start deploy war-file
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                        deploy_f $1
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                        if [ $? -eq 0 ];then
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                        Loging -s "INFO:Complete depoy successfull!"
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                        fi
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                        ;;
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif   "backup") shift
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                         if [ -z    $1    ];then
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                           help
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                         fi
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                        #Define variables
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                        set_var
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                        #Start backup old project
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                         backup_f $TOMCAT_HOME/webapps/$1
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                         if [ $? -eq 0 ];then
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                            Loging -s "INFO:Complete backup old project successfull!"
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                        #Write variables
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                         let COUNT=$COUNT+1
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                         write_v
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                         fi
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                         ;;
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif   "deployb")shift
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                         if [ -z    $1    ];then
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                           help
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                         fi
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                        
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                         #Define variables
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                         set_var
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                         #Start backup old project
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                            backup_f $TOMCAT_HOME/webapps/$1
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                        
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                         if [ $? -eq 0 ];then
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                            Loging -s "INFO:Complete backup old project successfull!"
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                         #Write variables
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                         let COUNT=$COUNT+1
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                         write_v
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                         fi
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
                         #Start deploy war-file
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                        deploy_f $1
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                        if [ $? -eq 0 ];then
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                        Loging -s "INFO:Complete depoy successfull!"
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                        fi
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                         ;;
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif         "roll") shift
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                        
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                         if [ -z    $1    ];then
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                           help
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                         fi
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                        
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                        #Define variables
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                        set_var   
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                        #Start Roll back from ftp server.
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                         roll_f $1 $2
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif
                         if [ $? -eq 0 ];then
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                            Loging -s "INFO:Complete roll back    successfull!"
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                         fi
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                        ;;
http://blog.运维网.com/xinbuq/images/editer/InBlock.gif                *) help&& exit 1
http://blog.运维网.com/xinbuq/images/editer/InBlock.gifesac






页: [1]
查看完整版本: 用于tomcat 更新war包的脚本。