1. 程式人生 > >shell指令碼--一鍵安裝openfire服務

shell指令碼--一鍵安裝openfire服務

在之前的服務架構中,IM服務需要用到openfire,這裡編寫一個指令碼實現一鍵安裝openfire服務。
注:此部署指令碼為單機部署指令碼,若為叢集環境,請自行配置!!

#!/bin/bash

########################################################
# all_in_one_openfire.sh
#   written by Zhenming Xie(skyfans) 2016-02-14
#
# CentOS6.5 x86-64環境下jdk(1.6.045)和openfire的一鍵式傻瓜安裝包,使用步驟說明
#    1. 保證機器有足夠的磁碟空間
#    2. 安裝包的路徑為/opt/setup
#    3. openfire安裝路徑/opt/openfire
#    4. 。
#    5. root登入執行 bash all_in_one_openfire.sh | tee  aio_`date +%Y%m%d_%H%M`.log 
#
# 警告:一鍵式安裝全部採用預設配置引數,如果在任何生產環境使用,後果自負。   
#
#    
########################################################
## 軟體的安裝包的地址(請根據實際版本及檔案安裝包名稱進行修改)
  BIN_SRC_1=/opt/setup/jdk-6u45-linux-x64-rpm.bin
  RPM_SRC_2=/opt/setup/openfire-3.8.2-1.i386.rpm
  JAVA_PA=/usr/java
########################################################
# 安裝前的的檢查
precheck()
{
    if [ ! -f "${BIN_SRC_1}" -o ! -f "${RPM_SRC_2}" ]; then
        echo --提示:Java安裝檔案或openfire安裝檔案不存在,請將它們拷貝過來再執行!
        exit 1;
    fi


    echo --提示:-------     作業系統情況           --------
    #lsb_release -a
    cat /etc/issue

    echo --提示:-------     磁碟使用空間情況       --------
    df -h

    echo --提示:-------     記憶體使用空間情況       --------
    free -m
}

########################################################
# 安裝前檢查java環境變數安裝情況
install_java()
{
    echo --提示:-------正在安裝配置java環境變數,請稍等!-------
    sleep 1
    echo --提示:-------第一步:檢查本機是否安裝了java!-------

    #java_version=` echo $JAVA_HOME | cut -b 14-`  
    #echo $java_version
    java_version = java -version 2>&1|grep java|awk -F '"' '{print $2}'

    edition=1.6.0_45
    echo --------------"$java_version" | grep -q "$edition"--------  
    if [ $? -eq 0 ]  
then
    echo -------本機已安裝了openfire所需使用的java無須在安裝,可以直接安裝openfire -------

else  
    echo -------本機未安裝java,開始安裝-------

fi
}
########################################################
# 開始安裝配置java環境變數
startInstallJava()
{
  echo -------建立java安裝路徑-------
  mkdir /usr/java
  echo -------java安裝路徑建立完畢------- 

  chmod 755 jdk-6u45-linux-x64-rpm.bin 
  echo --提示:-------開始安裝java!-------
  ./jdk-6u45-linux-x64-rpm.bin

  sleep 10
  echo --提示:-------開始配置java環境變數!-------
  sed -i '$aJAVA_HOME=/usr/java/jdk1.6.0_45' /etc/profile
  sed -i '$aJAVA_BIN=/usr/java/jdk1.6.0_45/bin' /etc/profile
  sed -i '$aPATH=$PATH:$JAVA_HOME/bin' /etc/profile
  sed -i '$aCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar' /etc/profile
  sed -i '$aexport JAVA_HOME JAVA_BIN PATH CLASSPATH' /etc/profile

  source /etc/profile

  java -version

  echo ---------當前配置完畢的JAVA路徑為: $JAVA_HOME-------------

  echo --提示:-----java安裝完畢---------

}

##################################################3
#開始安裝Openfire
startInstallOp()
{
echo -----------------開始進行openfire安裝--------------------

rpm -ivh /opt/setup/openfire-3.8.2-1.i386.rpm 

echo -----------------openfire解壓安裝完成,開始配置openfire服務--------------------

/etc/init.d/openfire start

#echo -----------------openfire服務啟動完成--------------------

service=`service openfire status |cut -b 13-`

chenggong=running

 echo --------------"service" | grep -q "chenggong"--------  
    if [ $? -eq 0 ]  
then
    echo -------openfire服務啟動成功 -------
    echo -------openfire安裝成功!!!!!!!!!!!!!!!!! -------

else  
    echo -------openfire服務未啟動成功,請檢查問題!!!-------

fi

}

#########################################################################################



# *******************************
# main routing
# *******************************
precheck
install_java
startInstallJava
startInstallOp