jboss启动脚本

来源:互联网 发布:航天金税盘软件下载 编辑:程序博客网 时间:2024/05/16 11:24

#!/bin/bash
#deploy jboos script

JAVA_HOME=/jboss/java
PATH=$JAVA_HOME/bin:$PATH:$HOME/bin

func_checkInstall() {
  warName=$1
  checkWar=`$deployCMD --connect controller=$ipAddress --command=deploy`
  echo $checkWar | grep $warName 2>&1 >> /dev/null
  return $?
}
func_checkIsStart() {
  isStart=""
  $deployCMD --connect controller=$ipAddress --command=ls 2>&1 >> /dev/null
  isStart=$?
}
func_war() {
  warAll=`ls $warHome/*.war | awk -F / {'print $NF'}`
  if [ "X$warAll" == "X" ]; then
    echo "no war files in $warALL" | tee -a $logfile
    exit 1
  fi
  for i in claims.war
  do
    warName=`echo $warAll | grep $i`
    if [ $? -eq 0 ]
    then
      func_deploy $i
    fi
  done
}
func_deploy() {
  warName=$1
  echo "`date +"%Y-%m-%d %H:%M:%S"` Uninstalling application: $warName" | tee -a $logfile
  $deployCMD --connect controller=$ipAddress --commands="undeploy ${warName} --all-relevant-server-groups"
  func_checkInstall $warName
  if [ $? -ne 0 ]; then
    echo "`date +"%Y-%m-%d %H:%M:%S"` Application $warName uninstalled successfully." | tee -a $logfile
    echo "`date +"%Y-%m-%d %H:%M:%S"` Application uninstalled: $warName" | tee -a $logfile
  else
    echo "`date +"%Y-%m-%d %H:%M:%S"` Application $warName failed to uninstall." | tee -a $logfile
    echo "`date +"%Y-%m-%d %H:%M:%S"` faild to uninstall: $warName" | tee -a $logfile
  fi
  echo "`date +"%Y-%m-%d %H:%M:%S"` Installing war: $warHome/$warName" | tee -a $logfile
  $deployCMD --connect controller=$ipAddress --commands="deploy ${warHome}/${warName} --server-groups=pamb-rcs-dev-server-group"
  func_checkInstall $warName
  if [ $? -eq 0 ]; then
    warPrefix=`echo $warName | awk -F. {'print $1'}`
    echo "`date +"%Y-%m-%d %H:%M:%S"` Application $warName installed successfully." | tee -a $logfile
    echo "`date +"%Y-%m-%d %H:%M:%S"` War file installed: $warHome/$warName" | tee -a $logfile
    echo "`date +"%Y-%m-%d %H:%M:%S"` $warPrefix installation completed." | tee -a $logfile
  else
    echo "`date +"%Y-%m-%d %H:%M:%S"` Application $warName failed to install." | tee -a $logfile
    echo "`date +"%Y-%m-%d %H:%M:%S"` War file installation failed: $warHome/$warName" | tee -a $logfile
    echo "`date +"%Y-%m-%d %H:%M:%S"` $warPrefix installation failed." | tee -a $logfile
  fi
}

scriptname=`basename "$0"`
JbossHome="/jboss/eap"
ipAddress="127.0.0.1"
warHome="/home/jbossadm/deployment"

logfile=/home/jbossadm/deployment/${scriptname}_`date +%Y-%m-%d_%H_%M_%S`.log
echo "=================================" | tee -a $logfile
echo ""
echo "setup jboss environment" | tee -a $logfile
echo "IP address: $ipAddress" | tee -a $logfile
echo "JBOSS_HOME: $JbossHome" | tee -a $logfile
echo "logfile: $logfile"
echo ""
echo "=================================" | tee -a $logfile

if [ -d $JbossHome ]; then
  deployCMD=$JbossHome/bin/jboss-cli.sh
else
  echo "-bash: $JbossHome: No sush directory "
fi

func_checkIsStart
if [ $isStart -eq 0 ]
then
  func_war
else
  echo "`date +"%Y-%m-%d %H:%M:%S"` Can not connect to jboss" | tee -a $logfile
  exit
fi
func_checkInstall claims.war

0 0