设为首页 收藏本站
查看: 765|回复: 0

[经验分享] 用于tomcat 更新war包的脚本。

[复制链接]

尚未签到

发表于 2018-12-6 07:07:59 | 显示全部楼层 |阅读模式
自定义公共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 [command] [project name]\n"
    http://blog.运维网.com/xinbuq/images/editer/InBlock.gifecho -e "Usage:deploy.sh roll number [project name]"
    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、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
    2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
    3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
    4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
    5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
    6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
    7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
    8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

    所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-643765-1-1.html 上篇帖子: nginx+tomcat7 DOCKER镜像的dockerfile 下篇帖子: tomcat下的日志配置详细说明
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    扫码加入运维网微信交流群X

    扫码加入运维网微信交流群

    扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

    扫描微信二维码查看详情

    客服E-mail:kefu@iyunv.com 客服QQ:1061981298


    QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


    提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


    本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



    合作伙伴: 青云cloud

    快速回复 返回顶部 返回列表