使用 wsadmin Scripting 啟動 wsadmin Scripting 用戶端

您可以利用 wsadmin 工具來配置及管理應用程式伺服器、應用程式部署和伺服器執行時期作業。

關於這項作業

wsadmin 工具支援透過執行 Script 來自動化環境的配置作業。 不過,wsadmin 工具的使用有一些限制,其中包括:
  • wsadmin 工具僅支援 Jython 和 Jacl Scripting 語言。

    WebSphere Application Server 6.1 版代表關聯於 wsadmin 工具的 Jacl 語法的淘汰程序起點。 wsadmin 工具的 Jacl 語法仍繼續保留在產品中,至少還有兩個主要的產品版本會支援它。 之後,wsadmin 工具可能不再支援 Jacl 語言。 wsadmin 工具的 Jython 語法是 WebSphere Application Server 管理自動化的策略性方向。 應用程式伺服器大幅強化了管理功能和工具,既支援產品的自動化,也支援使用 Jython 語法。

    避免麻煩: 並非所有 WebSphere® Application Server 元件類別都包裝在相同的 .jar 檔中。 如果您要使用 wsadmin 工具來執行 Jython Script,請將 jython.package.path 系統內容包括在 wsadmin 指令中,以確保在 wsadmin 啟動期間,將所有必要的 JAR 檔設定為 jython 套件路徑。
    ./wsadmin.sh -lang jython -javaoption
    "-Djython.package.path=/usr/WebSphere70/AppServer/plugins/com.ibm.ws.wlm.jar"   

    如果您想要從 runtime.jaradmin.jar以外的 .jar 檔中包裝的不同 WebSphere Application Server 類別呼叫 WebSphere Application Server 函數,您可以在指定給 jython.package.path 系統內容的路徑中包含多個 Jar 檔,並以分號 (;) 區隔它們。

    ./wsadmin.sh -lang jython -javaoption
    "-Djython.package.path=/usr/WebSphere70/AppServer/plugins/com.ibm.ws.wlm.jar;com.ibm.ws.wccm.jar"  

    如果您想要使用 ws_ant 來呼叫 Jython Script 中的 WebSphere Application Server 函數,則可以建立 .prop 文字檔,並在此檔案中包括下列行:

    jython.package.path=/usr/WebSphere70/AppServer/plugins/com.ibm.ws.wlm.jar  

    然後將此內容檔包含在 Ant Script XML 檔中。 例如:

    <taskdef name="wsadmin" classname="com.ibm.websphere.ant.tasks.WsAdmin"/>
    <target name="main" >  
        <wsadmin conntype="NONE" lang="jython" failonerror="true" properties="/tmp/jython.prop"
                 script="/home/fsgapp/MSTWasBuild/project/scripts/socr/socr/jython/configure.py"> 
        </wsadmin>
    </target>  
  • wsadmin 工具可以為執行相同或更高產品版本的應用程式伺服器,管理安裝、配置、部署和執行時期作業。 wsadmin 工具無法連接至所執行的產品版本早於 wsadmin 工具版本的應用程式伺服器。 例如,7.x 版 wsadmin 用戶端無法連接至 6.x 版應用程式伺服器。 不過,6.x 版 wsadmin 用戶端可以連接至 7.x 版應用程式伺服器。 由於每個產品版本都在 wsadmin 工具中新增了新功能,因而有此限制。 無法在執行舊版產品的應用程式伺服器上使用新的指令功能。

[AIX Solaris HP-UX Linux Windows]wsadmin 啟動程式支援數個指令碼處理物件,包括 AdminConfig、AdminControl、AdminApp、AdminTask 與 Help 物件。 Script 使用這些物件來進行應用程式管理、配置、作業控制,以及與執行於產品處理程序中的 MBean 進行通訊。 您必須先啟動 wsadmin Scripting 用戶端,才能使用 Scripting 來執行任何其他作業。

避免麻煩: 應用程式管理設計不容許您安裝比用戶端更高層次的 EE 規格層次 EAR 或模組。 在 wsadmin 中執行的用戶端程式碼會讀取這個 EAR 檔,並使用內容的內部檢查,以產生適用於該應用程式的部署配置選項。 用戶端程式碼無法處理高於用戶端支援的規格層次。

程序

  1. 找出啟動 wsadmin Scripting 用戶端的指令。
    [AIX Solaris HP-UX Linux Windows]請選擇下列其中一項:
    • 請使用特定設定檔來呼叫指令碼處理程序。 用來呼叫指令碼處理程序的 QShell 指令在 profile_root/bin 目錄中。 QShell Script 的名稱是 wsadmin。 如果您使用此選項,則不需要指定 -profileName profile_name 參數。
    • 請使用預設設定檔來呼叫指令碼處理程序。 wsadmin Qshell 指令位於 app_server_root/bin 目錄中。 如果您不想連接至預設設定檔,則必須指定 -profileName profile_name 參數,以指出您要使用的設定檔。
  2. 檢閱 wsadmin 工具的其他連線選項。
    您可以使用數種不同方法,啟動 wsadmin Scripting 用戶端。 如果要指定執行 Script 的方法,請執行下列其中一個 wsadmin 工具選項:
    以互動方式執行 Scripting 指令

    使用 -f-c 以外的選項執行 wsadmin,或是不使用選項執行 wsadmin。 wsadmin 工具會啟動和顯示含 wsadmin 提示的互動式 Shell。 在 wsadmin 提示下,輸入任何 Jacl 或 Jython 指令。 您也可以使用 AdminControl、AdminApp、AdminConfig、AdminTask 或 Help wsadmin 物件來呼叫指令。 如果要離開互動式指令碼處理階段作業,請使用 quitexit 指令。 這些指令不含任何引數。

    下列範例會啟動 wsadmin 工具:
    • 使用 Jython 啟動 wsadmin 工具:
      [Linux][AIX][HP-UX][Solaris]
      wsadmin.sh -lang jython
      [Windows]
      wsadmin.bat -lang jython
    • 在啟用安全的情況下,使用 Jython 啟動 wsadmin 工具:
      [Linux][AIX][HP-UX][Solaris]
      wsadmin.sh -lang jython -user user_name -password password
      [Windows]
      wsadmin.bat -lang jython -user user_name -password password
    • 不含選項使用 Jacl 啟動 wsadmin 工具:
      [Linux][AIX][HP-UX][Solaris]
      wsadmin.sh -lang jacl
      [Windows]
      wsadmin.bat -lang jacl
    以個別指令執行指令碼處理指令

    使用 -c 選項執行 wsadmin 工具。

    [Linux][AIX][HP-UX][Solaris]如果您使用 wsadmin -c 選項來呼叫包含錢幣符號字元 ($) 的指令,則指令行會嘗試替換變數。 若要避免此問題,請使用反斜線字元 (\) 來跳出錢幣符號字元。 例如: wsadmin -c "\$AdminApp install ..."

    下列範例會個別執行指令:
    • 使用 Jython 為 AdminApp 物件執行 list 指令:
      [Linux][AIX][HP-UX][Solaris]
      wsadmin.sh -lang jython -c 'AdminApp.list()'
      [Windows]
      wsadmin -lang jython -c "AdminApp.list()"
    • 使用 Jacl 為 AdminApp 物件執行 list 指令:
      [Linux][AIX][HP-UX][Solaris]
      wsadmin.sh -c "\$AdminApp list"
      wsadmin.sh -c '$AdminApp list'
      [Windows]
      wsadmin -c "$AdminApp list"
    在 Script 中執行指令碼處理指令

    使用 -f 選項執行 wsadmin 工具,並將您要執行的指令放入檔案中。

    下列範例執行 Script:
    • 使用 Jython 來執行 a1.py Script:
      [Linux][AIX][HP-UX][Solaris]
      wsadmin.sh -lang jython -f  al.py
      [Windows]
      wsadmin -lang jython -f  al.py

      其中 a1.py 檔包含下列指令:

      apps = AdminApp.list()
      print apps
    在設定檔 Script 中執行指令碼處理指令

    設定檔 Script 是一個 Script,它會在主要 Script 之前,或在進入互動模式之前執行。 您可以使用設定檔 Script 來設定為使用者或安裝自訂的指令碼處理環境。

    依預設,可能會針對 app_server_root/properties/wsadmin.properties 檔案中的 com.ibm.ws.scripting.profiles profiles 內容配置下列設定檔 Script 檔:
    • app_server_root/bin/securityProcs.jacl
    • app_server_root/bin/LTPA_LDAPSecurityProcs.jacl

    依預設,這些檔案的格式是 ASCII。 如果您使用 profile.encoding 選項來執行 EBCDIC 編碼的設定檔 Script 檔,請將這些檔案的編碼變更為 EBCDIC。

    如果要在設定檔 Script 中執行指令碼處理指令,請使用 -profile 選項來執行 wsadmin 工具,並將要執行的指令包含在設定檔 Script 中。

    如果要自訂 Script 環境,請指定一或多個要執行的設定檔 Script。

    建立設定檔時,不要在節點名稱中使用括弧。

    下列範例執行設定檔 Script:
    • 使用 Jython 來執行 a1prof.py Script:
      [Linux][AIX][HP-UX][Solaris]
      wsadmin.sh -lang jython -profile alprof.py
      [Windows]
      wsadmin.bat -lang jython -profile alprof.py

      其中 a1prof.py 檔包含下列指令:

      apps = AdminApp.list()
      print "Applications currently installed:\n " + apps
    • 使用 Jacl 來執行 a1prof.py Script:
      [Linux][AIX][HP-UX][Solaris]
      wsadmin.sh -profile alprof.jacl
      [Windows]
      wsadmin.bat -profile alprof.jacl

      其中 a1prof.py 檔包含下列指令:

      set apps [$AdminApp list]
      puts "Applications currently installed:\n$apps"

結果

wsadmin 與伺服器處理程序建立連線之後,會傳回下列輸出:

Jython 輸出範例:
Applications currently installed:
 DefaultApplication
ivtApp
query
WASX70311: For help, enter: "print Help.help()"
wsadmin>
Jacl 輸出範例:
Applications currently installed:
 DefaultApplication
ivtApp
query
WASX70311: For help, enter: "$Help help"
wsadmin>