1. 程式人生 > 其它 >shell指令碼停止/啟動WebSphere單個應用程式

shell指令碼停止/啟動WebSphere單個應用程式

1.WebSphere控制檯停止

停止WebSphere應用程式可以通過賬號密碼登入到WebSphere控制檯,

可以依次點開應用程式-->應用程式型別-->WebSphereq企業應用程式-->可以看到部署在伺服器上的企業應用程式,

頁面中有操作按鈕,此時可以對應用程式啟動停止,解除安裝更新等操作;

同時在最右側有幫助頁面-->命令輔助的下方-->檢視上一個操作的指令碼編制命令,點選檢視,就能檢視到相關的命令,

我們就是使用這些檢視到相關的命令進行shell指令碼的編寫;

2.shell指令碼停止/啟動應用程式

停止指令碼如下:

#!/bin/bash
#判斷執行使用者,為was使用者
if [  $(whoami)  != was  ]
then
    echo "execute user must be [was]!"
    exit 2
fi

echo "====wasStopApp.sh==="
#was使用者
wasUser=admin
#was密碼
wasPasswd='Test@1234'
#was家目錄
wasHome='/was/IBM/WebSphere/AppServer/profiles'
#單機或叢集部署
profilesNames=`ls ${wasHome}/grep -Ei 'Custom|AppSrv'`
#was命令路徑
wasPath="${wasHome}/${profilesNames}"
#獲取was節點的相關引數
cd  $wasPath/bin
clusterserver=`sh serverStatus.sh -all -username $wasUser  -password $wasPasswd 2>/dev/null  | grep 'Application Server' | grep 'STARTED' |  head -n 1 | awk -F  ' " '   '{print $2}' | awk -F  ' " '  '{print $1}'`

process=$clusterserver
platform=proxy
node=`ps -ef  |  grep was | grep java | grep $process |  awk '{print $(NF-1)}'`
version='9.0.5.5'
cell=`ps -ef  |  grep was | grep java | grep $process |  awk '{print $(NF-2)}'`

#停止單個應用程式
sh   wsadmin.sh  -user $wasUser   -password $wasPasswd  -c  "AdminControl.invoke('WebSphere:name=ApplicationManager,process=$process,platform=$platform,node=$node,version=$version,type=ApplicationManager,mbeanIdentifier=ApplicationManager,cell=$cell,spec=1.0','stopApplication','[DefaultApplication]')"

 啟動指令碼如下:

#!/bin/bash
#判斷執行使用者,為was使用者
if [  $(whoami)  != was  ]
then
    echo "execute user must be [was]!"
    exit 2
fi

echo "====wasStopApp.sh==="
#was使用者
wasUser=admin
#was密碼
wasPasswd='Test@1234'
#was家目錄
wasHome='/was/IBM/WebSphere/AppServer/profiles'
#單機或叢集部署
profilesNames=`ls ${wasHome}/grep -Ei 'Custom|AppSrv'`
#was命令路徑
wasPath="${wasHome}/${profilesNames}"
#獲取was節點的相關引數
cd  $wasPath/bin
clusterserver=`sh serverStatus.sh -all -username $wasUser  -password $wasPasswd 2>/dev/null  | grep 'Application Server' | grep 'STARTED' |  head -n 1 | awk -F  ' " '   '{print $2}' | awk -F  ' " '  '{print $1}'`

process=$clusterserver
platform=proxy
node=`ps -ef  |  grep was | grep java | grep $process |  awk '{print $(NF-1)}'`
version='9.0.5.5'
cell=`ps -ef  |  grep was | grep java | grep $process |  awk '{print $(NF-2)}'`

#停止單個應用程式
sh   wsadmin.sh  -user $wasUser   -password $wasPasswd  -c  "AdminControl.invoke('WebSphere:name=ApplicationManager,process=$process,platform=$platform,node=$node,version=$version,type=ApplicationManager,mbeanIdentifier=ApplicationManager,cell=$cell,spec=1.0','startApplication','[DefaultApplication]')"