使用 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 語法。

    已淘汰的特性 已淘汰的特性: Jacl 已淘汰,Jython 是預設的 Scripting 語言。depfeat
    避免困難 避免困難: 並非所有 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"   

    如果您要從包裝在 .jar 檔,而非 runtime.jaradmin.jar 的不同 WebSphere Application Server 類別中呼叫 WebSphere Application Server 函數,您可以將多個 jar 檔包含在為 jython.package.path 系統內容指定的路徑上,並以分號 (;) 加以隔開。

    ./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>  
    gotcha
  • wsadmin 工具可以為執行相同或更高產品版本的應用程式伺服器、部署管理程式、管理代理程式和工作管理程式,管理安裝、配置、部署和執行時期作業。 wsadmin 工具無法連接至所執行的產品版本早於 wsadmin 工具版本的應用程式伺服器、部署管理程式、管理代理程式或工作管理程式。 例如,7.x 版 wsadmin 用戶端無法連接至 6.x 版應用程式伺服器。不過,6.x 版 wsadmin 用戶端可以連接至 7.x 版應用程式伺服器。由於每個產品版本都在 wsadmin 工具中新增了新功能,因而有此限制。無法在執行舊版產品的應用程式伺服器上使用新的指令功能。
  • wsadmin 工具在混合 Cell 環境中的部署管理程式節點層次上運作。請勿在應用程式伺服器節點層次執行 wsadmin,以確保所有指令功能都可供使用。

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

[z/OS]在啟動支援安全的 wsadmin 工具之前,請檢閱「WebSphere Application Server 管理者的 SSL 考量」主題及「對用戶端和伺服器定義 SSL 安全」主題。

在彈性的管理環境中,您可以將 wsadmin 工具連接至基本應用程式伺服器、部署管理程式、管理代理程式或工作管理程式處理程序。如果您未指定基本應用程式伺服器的埠或已指派給工作管理程式的設定檔名稱,則 wsadmin 工具會自動連接至管理代理程式。

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

程序

  1. 找出啟動 wsadmin Scripting 用戶端的指令。

    [z/OS]用來呼叫指令碼處理程序的指令在 app_server_root/bin 目錄中。 使用 wsadmin.sh 檔。

    [AIX Solaris HP-UX Linux Windows][IBM i]請選擇下列其中一項:
    • 請使用特定設定檔來呼叫指令碼處理程序。用來呼叫指令碼處理程序的 QShell 指令在 profile_root/bin 目錄中。 QShell Script 的名稱是 wsadmin。如果使用這個選項,則不需要指定 -profileName profile_name 參數。
    • 請使用預設設定檔來呼叫指令碼處理程序。wsadmin Qshell 指令位於 app_server_root/bin 目錄中。 如果您不想要連接至預設設定檔,則必須指定 -profileName profile_name 參數,以指出要使用的設定檔。
  2. 在彈性的管理環境中,決定是要連接至基本應用程式伺服器、管理代理程式或工作管理程式處理程序。
    • 連接至管理代理程式處理程序。
      將 wsadmin 工具連接至管理代理程式,以配置及管理伺服器。如果沒有指定連線選項,則 wsadmin 工具會自動連接至管理代理程式程序。 使用下列指令來連接至管理代理程式:
      wsadmin -lang jython
    • 連接至基本應用程式伺服器程序。
      將 wsadmin 工具連接至基本應用程式伺服器,以管理相關的特定伺服器的設定。當連接至包含一個伺服器,而且已經向管理代理程式登錄的節點時,請使用此連線類型。使用下列之類的指令,以連接至基本應用程式伺服器:
      wsadmin -conntype SOAP [-port 4213] -lang jython
    • 連接至工作管理程式處理程序。
      將 wsadmin 工具連接至工作管理程式,以針對管理工作來提交、監視及管理。使用下列之類的指令,以連接至工作管理程式:
      wsadmin -profileName JobMgr01 -lang jython
  3. 檢閱 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 工具:
      [AIX][HP-UX][Linux][Solaris][z/OS]
      wsadmin.sh -lang jython
      [IBM i]
      wsadmin -lang jython
      [Windows]
      wsadmin.bat -lang jython
    • 在啟用安全的情況下,使用 Jython 啟動 wsadmin 工具:
      [AIX][HP-UX][Linux][Solaris][z/OS]
      wsadmin.sh -lang jython -user user_name -password password
      [IBM i]
      wsadmin -lang jython -user user_name -password password
      [Windows]
      wsadmin.bat -lang jython -user user_name -password password
    • 不含選項使用 Jacl 啟動 wsadmin 工具:
      [AIX][HP-UX][Linux][Solaris][z/OS]
      wsadmin.sh -lang jacl
      [IBM i]
      wsadmin -lang jacl
      [Windows]
      wsadmin.bat -lang jacl
    以個別指令執行指令碼處理指令

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

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

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

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

    [z/OS]WebSphere Application Server for z/OS® 支援 Jacl 和 Jython 指令檔的多種編碼。指令檔的預設編碼是 ASCII。如果要執行 EBCDIC 編碼的檔案,請利用 -javaoption 旗標,將下列 Java 虛擬機器 (JVM) 引數新增至 wsadmin.sh 檔:
    -Dscript.encoding=Cp1047
    例如:
    wsadmin.sh -javaoption -Dprofile.encoding=Cp1047
    您可以擁有 wsadmin.sh 檔案的下列兩個版本之一:一個版本參照該檔案的 ASCII 版本,而另一個參照該檔案的 EBCDIC 版本。例如,將 wsadmin.sh 檔複製到 wsadminE.sh 檔。然後,將 -Dscript.encoding=Cp1047 新增至 wsadminE.sh 檔。
    下列範例執行 Script:
    • 使用 Jython 來執行 a1.py Script:
      [AIX][HP-UX][Linux][Solaris][z/OS]
      wsadmin.sh -lang jython -f  al.py
      [IBM i]
      wsadmin -lang jython -f  al.py
      [Windows]
      wsadmin -lang jython -f  al.py

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

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

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

    [z/OS]WebSphere Application Server for z/OS 支援 Jacl 和 Jython 設定檔 Script 的多重編碼。設定檔的預設編碼是 ASCII。如果要執行 EBCDIC 編碼的設定檔 Script 檔,請將下列 Java 虛擬機器 (JVM) 引數新增至 wsadmin.sh 檔:
    -Dprofile.encoding=Cp1047
    例如:
    wsadmin.sh -javaoption -Dprofile.encoding=Cp1047
    您可以擁有 wsadmin.sh 檔案的下列兩個版本之一:一個版本參照該檔案的 ASCII 版本,而另一個參照該檔案的 EBCDIC 版本。例如,將 wsadmin.sh 檔複製到 wsadminE.sh 檔。然後將 -Dprofile.encoding=Cp1047 新增至 wsadminE.sh 檔。
    依預設,您可以為 app_server_root/properties/wsadmin.properties 檔中的 com.ibm.ws.scripting.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:
      [AIX][HP-UX][Linux][Solaris][z/OS]
      wsadmin.sh -lang jython -profile alprof.py
      [IBM i]
      wsadmin -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:
      [AIX][HP-UX][Linux][Solaris][z/OS]
      wsadmin.sh -profile alprof.jacl
      [IBM i]
      wsadmin -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>
[z/OS]如果您收到此訊息:
[ Unable to allocate an initial java heap of 268435456 bytes. ]
[ **Out of memory, aborting** ]
[ *** panic: JVMST016: Cannot allocate memory for initial java heap ]
CEE5207E The signal SIGABRT was received.
wsadmin Scripting 用戶端無法啟動,因為您的登入上的區域大小,不足以配置在 Java 虛擬機器 (JVM)(在 wsadmin 啟動時建立)上指定的最小資料堆大小 (-Xms)。-Xms 選項的預設值(如在 wsadmin.sh 檔案陳述式 PERF_JVM_OPTIONS="-Xms256m -Xmx256m 中指定的)是 256 MB。如果要解決此問題,請登出 TSO,然後在重新登入 TSO 時,嘗試在登入畫面上增加 Size 參數的值。如果無法在登入畫面上增加 Size 參數的值,請檢查是否有任何阻止您增加此參數值的 IEFUSI。

[z/OS]如果您是透過 Telnet 登入 OMVS,則用來決定您的登入所收到的位址空間大小,是在 BPXPRMxx parmlib 成員中指定的。BPXPRMxx 控制 z/OS UNIX 的完整環境。因此,為 MAXASSIZE 參數設定的值決定了位址空間的大小。但是,如果您使用的是 RACF,則也可以為單一 RACF OMVS 區段中的個別使用者設定位址大小。在這種情況下,為 ASSIZEMAX 參數指定的值,表示該使用者的位址空間大小限制(以位元組為單位)。例如,ASSIZEMAX=0268435456 設定指出配置給該使用者的位址空間是 256 MB。


指出主題類型的圖示 作業主題



時間戳記圖示 前次更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=txml_launchscript
檔名:txml_launchscript.html