Sun ONE Application Server 7, Update 1 管理員指南 |
使用指令行介面本 module 提供了在系統提示的單模式下 (即,每次從指令提示下執行一個指令)、多模式下 (即,可以執行多個指令,而無需重新輸入環境層級資訊)、程序檔與程式中,使用指令行介面 (asadmin 公用程式) 的說明。您可以使用指令行介面代替管理介面螢幕。
本 module 包含下列章節:
關於指令行介面
本章節包含下列主題:
關於 asadmin 公用程式
asadmin 公用程式執行所有的配置與管理工作。您可以使用此公用程式代替使用管理介面。
關於 Ant 工作
許多開發人員使用 Ant 來加速 J2EE 應用程式的開發程序。Ant 程序檔會協助 asadmin 公用程式執行某些工作。開發人員可以使用 Ant 工作建立應用程式,佈署與取消佈署模組與應用程式,並控制 Sun ONE Application Server。
如需關於 Ant 工作的更多資訊,請參閱「Sun ONE Application Server Developer's Guide」。
如需關於 Ant 的更多資訊,請參閱 Jakarta Project 網站 (位於 http://jakarta.apache.org/ant/)。
關於其他指令行公用程式
Sun ONE Application Server 包含其他指令行公用程式。下表列示了這些公用程式,並對每個公用程式進行了簡要說明。
如需關於這些公用程式的更多資訊,請參閱其線上輔助說明。
使用 asadmin
asadmin 公用程式具有執行管理工作的指令集。您可以將這些指令用於可透過管理介面執行的大多數工作。可以在 install_dir/bin 中找到 asadmin 公用程式,並從那裡執行它。在 Windows 中,按兩下 asadmin.bat 檔案,然後 asadmin 公用程式會在指令視窗中啟動,在多模式下執行。
請注意,某些 HTTP 伺服器相關的特性與管理伺服器特性不能使用指令行設定,而必須使用管理介面設定。您可以設定儲存在 server.xml 配置檔案中的所有特性,但是不能設定儲存在 init.conf 或 obj.conf 中的特性。如需關於配置檔案的更多資訊,請參閱「Sun ONE Application Server Administrator's Configuration File Reference」。
如需關於個別指令的更多資訊,請參閱「指令參考」,以及指令的輔助說明。
本章節包含下列主題:
- 瞭解指令語法
- 使用單模式與多模式
- 使用互動式與非互動式選項
- 使用環境指令
- 使用密碼檔案選項
- 本機或遠端執行 asadmin
- 使用指令行呼叫
- 使用逸出字元
- 使用 get 與 set 指令
- 使用輔助說明
- 檢視輸出與錯誤
瞭解指令語法
asadmin 公用程式具有以下語法:
asadmin command -short-option argument --long-option argument operand
指令
指令是執行的作業或工作。指令區分大小寫。
選項
選項修改公用程式執行指令的方式。選項區分大小寫。請注意,短選項在其前面具有單一破折號 (-),長選項在其前面具有兩個破折號 (--)。對於許多選項,您可以使用長形式或短形式的選項,例如,使用者可以為 --user 或 -u。某些選項是必需的,某些選項是選擇性的。選擇性的選項顯示在指令語法的括號中。在執行指令或收到錯誤訊息並且指令不執行的情況下,您必須包含所有必備選項。
如需關於可用長選項與短選項名稱的清單,請參閱「指令參考」中的「短選項與長選項、預設值與環境變數」表格。
大多數選項需要引數值,例如 --port port_number。布林選項例外,其可以開啟與關閉功能,並且不需要引數值。
也可以在環境變數中儲存選項。如需更多資訊,請參閱「使用環境指令」。如需對等於選項的環境變數之完整清單,請參閱「長選項格式與短選項格式、預設值與對等的環境變數」。
布林選項
布林選項開啟或關閉 (例如 --interactive 使您處於互動式模式下,提示您輸入選項;--no-interactive 會關閉互動式模式)。在長選項的前面置入 --no-,會關閉此選項。指定短選項名稱時,總是會設定相反的預設值。
您可以群組短布林選項。例如,可以使用 -Ie 來指定互動式 (短選項 -I) 與回應 (短選項 -e)。
運算元
運算元由空格或標籤分隔。它們可以以任何順序排列在指令語法中。您可以在運算元之後使用 --no 選項,將選項與運算元分開。以下任何引數均可以被視為運算元,即使其以破折號 (-) 開始。例如,於以下碼行中
asadmin> create-jvm-options --instance server1 -- -Xmx1500m
-XMx1500m 被視為運算元 (雖然其以破折號開始)。
語法範例
asadmin create-instance [--user admin_user] [--password admin_password] [-H host_name] [--port port_number] [--sysuser sys_user] [--domain domain_name] [--local=true/false] [--passwordfile file_name] [--secure | -s] --instanceport instance_port instance_name
在此語法範例中,-H 為主機名稱的短選項;--user 為長選項,admin_user 為該選項的引數;instance_name 為運算元。括號內為選擇性選項。
以下範例顯示了具有實數值的語法。某些選擇性選項未在此範例中使用。
asadmin create-instance --user admin --password password -H austen --port 4848 --instanceport 1024 server2
使用單模式與多模式
您可以在單模式或多模式下執行 asadmin。在單模式下,每次從指令提示下僅執行一個指令。在多模式下,您可以執行多個指令,而無需重新輸入環境層級資訊。
如果您正在使用檔案中的輸入,並且指令執行失敗,則在單模式下,此程式會結束。如果您正在使用多模式,並且指令執行失敗,則會返回至 asadmin 提示。
單模式
如果您在指令行介面中從指令提示下呼叫單一指令,則您在單模式下執行。指令行介面會執行此指令,然後返回至指令提示。若要從指令提示下執行指令行介面,請移往 install_dir/appserv/bin 目錄,然後在指令提示下鍵入指令:
> asadmin command options arguments
例如︰
> asadmin create-instance --user admin --password password -H austen --port 4848 --instanceport 1024 server2
多模式
多模式讓您在開始時設定環境,以便無需重新輸入特定環境層級資訊 (例如伺服器名稱、連接埠與密碼) 便可以執行多個指令。使用多模式的一個突出優點是可以更快速地輸入並執行指令,因為 asadmin 儲存在記憶體中。如果在作業系統層級中設定這些環境變數,則多模式會使用那些設定。asadmin 公用程式會一直使用這些設定,除非您變更它們。
在 Windows 中,當您執行 asadmin.bat 檔案時,會自動處於多模式中。
在 UNIX 中,若要在多模式下從指令行啟動 asadmin 公用程式,請鍵入:
> asadmin 多模式
處於多模式時,指令提示會變更為 asadmin。然後您便可以在 asadmin 提示下鍵入指令。無需使用公用程式名稱。例如︰
asadmin> create-instance --user admin --password password -H austen --port 4848 --instanceport 1024 server2
鍵入 exit 或 quit 後,會結束多模式。您返回至指令提示。
多模式
也可以透過使用以下指令,從多模式階段作業中呼叫多模式:
asadmin> multimode
結束第二個多模式環境後,您便會返回至原始的多模式環境。
例如,如果您正在多模式下管理 server1,並且要管理 server2,以比較這兩個指令,則可以從執行 server1 的多模式內呼叫執行 server2 的多模式。由於您無需結束目前的多模式階段作業,因此可以保留環境設定。如果您結束正在為執行 server2 使用的多模式階段作業,會返回至 server1 多模式環境。
使用互動式與非互動式選項
您使用指令行介面時,可以在互動式或非互動式模式下使用此介面。如果您選擇使用互動式模式,但未指定互動式模式,系統會提示您輸入密碼。依預設,會啟用互動式模式。
您可以透過使用 export 指令設定互動式環境變數,停用與啟用互動式模式。如需更多資訊,請參閱「與 export 指令一起使用的環境變數」表格。
您可以在單模式的各種情況下,使用互動式選項。在每次從指令提示執行一個指令以及在多模式下從檔案中執行指令時,可以使用多模式中的互動式選項。但是,在多模式下從輸入串流中傳輸的指令以及從另一個程式中呼叫的指令,不能在互動式模式下執行。
使用環境指令
asadmin 公用程式包含您可以使用環境指令設定的環境變數集。在多模式下,一旦設定了這些變數,結束多模式之前便無需重新設定您的環境。也可以在作業系統層級中設定這些環境變數,如果這樣做,在您輸入多模式時會自動點選這些環境變數,並且在結束多模式之後它們會繼續存在。
環境變數是可以在任何時間透過指定進行設定的名稱/值對。環境變數由大寫的選項名稱之字首 AS_ADMIN_ 構成。例如,若要設定管理伺服器使用者,可以鍵入:
export AS_ADMIN_USER=administrator
其中 administrator 是管理員使用者名稱。
同時,AS_ADMIN_USER 的值也可用於 asadmin 指令,例如:
asadmin 多模式
asadmin> export AS_ADMIN_HOST=austen只要您在多模式階段作業中,管理伺服器主機名稱就會設定為 austen,除非您重新指定該名稱。
也可以在一個步驟中,設定並匯出多重環境變數的值,例如:
asadmin> export AS_ADMIN_PORT=4848 AS_ADMIN_USER=admin
若要查看目前的環境變數設定,請使用沒有引數的 export 指令:
asadmin> export
AS_ADMIN_HOST=austen
AS_ADMIN_PORT=4848
AS_ADMIN_USER=admin使用 unset 指令,移除此環境中的變數及其值。例如︰
asadmin> unset AS_ADMIN_HOST
您可以透過重新設定變數或設定作為 asadmin 指令部分的另一個值,置換環境變數的設定值。例如︰
asadmin> export AS_ADMIN_HOST=dickens
asadmin> show-instance-status --host austen instance-name此範例顯示了管理伺服器主機 austen 中的實例狀況,因為該值置換了 dickens 的先前主機值。
如果您不使用已匯出的變數,則必須為大多數指令提供以下選項或使用預設值 (如需預設值的清單,請參閱「長選項格式與短選項格式、預設值與對等的環境變數」):
- --host
- --port
- --user
- --password 或 --passwordfile
- --secure=true (如果安全)
- --instance (如果需要)
下表「與 export 指令一起使用的環境變數」描述了與 export 指令一起使用的一些環境變數。這些變數為經常使用的變數,因為其專用於設定環境。第一欄顯示了環境變數名稱,第二欄顯示了使用情況,並且如果未設定值,將使用預設值。如需環境變數的完整清單,請參閱「長選項格式與短選項格式、預設值與對等的環境變數」。
使用密碼檔案選項
如果您不想在指令行鍵入密碼或為密碼設定環境變數,可以建立一個密碼檔案,並使用其作為指令行中的一個選項。
每個具有 password 選項的指令也具有可以取代使用的 passwordfile 選項。密碼檔案包含以下行:
AS_ADMIN_PASSWORD=value
AS_ADMIN_ADMINPASSWORD=value
AS_ADMIN_USERPASSWORD=value
如果您使用 passwordfile 選項,則檔案中的密碼會匯出至多模式環境中,並且沒有指定 password 選項的後續指令使用這些值。
如果您在指令行同時指定密碼與密碼檔案選項,則密碼檔案中的值會匯出至多模式環境中,但是目前的指令仍使用密碼選項中指定的密碼,因為密碼選項要優先於密碼檔案。
本機或遠端執行 asadmin
通常 asadmin 公用程式透過管理伺服器發送其指令。因此,不需要在安裝了 Sun ONE Application Server 的系統上執行 asadmin。但是,必須執行管理伺服器,以便讓大多數 asadmin 指令進行工作。
某些指令具有在本機執行的選項,例如,create-instance。如果您在 create-instance 中使用 --local=true 選項,則必須在安裝此伺服器的機器上執行它,但是無需執行管理伺服器來建立實例。
某些指令必須在本機執行。例如,啟動管理伺服器及其所有實例的 start-appserv 不能在遠端執行,因為管理伺服器只有在該指令啟動它時才執行。
如需關於管理伺服器的更多資訊,請參閱「設定管理伺服器偏好設定」。
以下指令可以在本機與遠端執行:
- create-instance
- delete-instance
- list-instances
- start-instance
- stop-instance
- display-license
- version
- stop-domain
- restart-instance
- list-domains
對於這些指令,無需您指定本機選項,便可選擇在本機執行指令。依預設,如果您在指令語法中指定使用者、密碼、主機或連接埠的值,則此指令會被視為遠端指令 (雖然您仍然可以為這些選項指定本機值)。如果您不指定這些選項的值,則依預設,此指令在本機執行。
在本機執行指令時,如果有一個領域選項,則其為此指令所需的選項 (除非只有一個領域);在遠端執行指令時,如果您指定了此指令,則會忽略此領域選項。
使用指令行呼叫
您可以以多種方式呼叫指令行,如以下主題所述:
從指令行使用 asadmin
使用指令的最簡便方式是在指令行上,一次僅執行一個指令。您鍵入公用程式、指令及其選項與引數。在多模式下,無需重新鍵入公用程式名稱與環境選項 (如果您已設定環境變數),便可鍵入多個指令。您可以互動式或非互動式執行單模式或多模式指令 (提示進行其他需要的輸入,例如,密碼)。
如需關於單模式與多模式的更多資訊,請參閱「使用單模式與多模式」。
如需關於互動式使用指令的更多資訊,請參閱「使用互動式與非互動式選項」。
指令行中的範例
> asadmin create-instance --user admin --password password --host austen --port 4848 --instanceport 1024 server2
指令執行結束後,會返回至作業系統提示。
以檔案 (程序檔) 中的輸入,使用 asadmin
您可以建立包含許多 asadmin 指令的程序檔。使用程序檔,您可以批次處理指令、設定在特定時間要執行的工作,並且還可簡化管理工作,使之自動化。
若要呼叫檔案中的程序檔,請使用此語法:
> asadmin multimode --file filename
以下是您可以以此方式呼叫的檔案中簡單程序檔範例:
# 建立新實例並啟動它。
export AS_ADMIN_USER=admin AS_ADMIN_PASSWORD=mypassword AS_ADMIN_HOST=austen AS_ADMIN_PORT=4848
create-instance --instanceport 9000 austen3
start-instance austen3此程序檔設定環境,建立名為 austen3 的實例,然後啟動新的實例。以數字符號 (#) 開始的行被視為注釋,並被忽略。
以標準輸入 (管道) 使用 asadmin
您可以使用以下語法,在 asadmin 公用程式中傳輸輸入:
cat filename | asadmin multimode
此語法可能在 Windows 中無法使用。
使用逸出字元
如果您在指令語法中使用某些字元,如冒號 (:)、星號 (*) 與反斜線 (\),則會發生錯誤 (除非您使用逸出字元將其分開)。使用逸出字元的可能性因您使用的平台與您使用單模式還是多模式而異。
注意 不需要在 get 與 set 指令中為冒號使用逸出字元。
本章節包含下列主題:
在單模式下的 UNIX 中之逸出字元
在 Solaris 中,您可以使用兩個反斜線 (\\) 或雙引號 (" "),以逸出受限的字元。
使用反斜線 (\\) 逸出
例如,在建立 JDBC 連接區時,其中其選項值包含冒號,則可以使用反斜線 (範例假設已為某些特性設定了環境變數):
asadmin create-jdbc-connection-pool --instance server1 --datasourceclassname oracle.jdbc.pool.OracleDataSource --failconnection=true --isconnectvalidatereq=true --property url=jdbc\\:oracle\\:thin\\:@asperfsol8\\:1521\\:V8i:user=staging_lo okup_app:password=staging_lookup_app OraclePoollookup
使用引號逸出
若要在以上同一個範例中使用引號,則需以雙引號 (") 包含此值,然後使用反斜線逸出此雙引號。
asadmin create-jdbc-connection-pool --instance server1 --datasourceclassname oracle.jdbc.pool.OracleDataSource --failconnection=true --isconnectvalidatereq=true --property url=\"jdbc:oracle:thin:@asperfsol8:1521:V8i\":user=staging_lookup_a pp:password=staging_lookup_app OraclePoollookup
也可以使用「在單模式下的所有平台中之逸出字元」中所述的方法。
在單模式下的 Windows 中之逸出字元
在 windows 中,您可以使用反斜線字元逸出。例如,在建立 JDBC 連接區時,其中其選項值包含冒號,則可以使用反斜線 (範例假設已為某些特性設定了環境變數):
asadmin create-jdbc-connection-pool --instance server1 --datasourceclassname oracle.jdbc.pool.OracleDataSource --failconnection=true --isconnectvalidatereq=true --property url=jdbc\:oracle\:thin\:@asperfsol8\:1521\:V8i:user=staging_lookup_ app:password=staging_lookup_app OraclePoollookup
也可以使用「在單模式下的所有平台中之逸出字元」中所述的方法。
在單模式下的所有平台中之逸出字元
在任何平台中,您可以使用反斜線逸出字元,並且在雙引號中加上包含逸出字元的值。例如,在建立 JDBC 連接區時,其中其選項值包含冒號,則可以使用如下所示的逸出字元 (範例假設已為某些特性設定了環境變數):
asadmin create-jdbc-connection-pool --instance server1 --datasourceclassname oracle.jdbc.pool.OracleDataSource --failconnection=true --isconnectvalidatereq=true --property url="jdbc\:oracle\:thin\:@iasperfsol8\:1521\:V8i":user=staging_look up_app:password=staging_lookup_app OraclePoollookup
在多模式下的所有平台中之逸出字元
在多模式下,您可以使用以下語法,其僅需要引號,而不需斜線或反斜線:
asadmin> create-jdbc-connection-pool --instance server1 --datasourceclassname oracle.jdbc.pool.OracleDataSource --failconnection=true --isconnectvalidatereq=true --property url="jdbc:oracle:thin:@asperfsol8:1521:V8i":user=staging_lookup_app :password=staging_lookup_app OraclePoollookup
使用 get 與 set 指令
使用 get 與 set 指令,可存取並變更 Sun ONE Application Server 中的配置設定。在大多數情況下,asadmin 指令僅設定所需的特性。使用 set 指令,變更選擇性特性的值。
   get 與 set 指令
指令
引數
使用
get
(scope),其中 scope 表示屬性,為有效名稱。
取得屬性值。
set
(scope=value),其中 scope 表示屬性,為有效名稱,而 value 是您要為此屬性設定的值。
設定屬性值。
reconfig
instance-name
執行修改配置檔案的任何指令之後,需要執行 reconfig,以便使變更套用於伺服器。如需關於套用變更/重新配置伺服器的更多資訊,請參閱「將變更套用至應用程式伺服器實例」。
您可以透過在屬性之間使用空格,在單一指令中取得或設定多個屬性值。例如︰
set server1.appReloadPollInterval=20 server1.mime.mime1.file=mime.types
也可以使用 AS_ADMIN_PREFIX 環境變數,設定後續 get 與 set 指令使用的字首。小數點 (".") 內含插入在 get 和 set 指令中的字首字串與運算元之間。例如︰
asadmin>export AS_ADMIN_PREFIX=server1
asadmin>get *
server1.locale = en_US
server1.appReloadPollInterval = 2
server1.name = server1
...由於 get 與 set 指令需要小數點分隔符號,如果項目在其名稱中包含小數點,則必須在小數點之前使用逸出字元反斜線 (\)。以下範例顯示了伺服器實例名稱 server2.sun.com,其小數點之前為反斜線:
get server2\.sun\.com.*
如果您不包含反斜線,則會出現錯誤訊息。
get 與 set 指令範例
以下範例顯示了如何使用 get 指令取得屬性值,以及如何使用 set 指令設定值。
MDB 容器服務範例
如果應用程式伺服器實例為 server1,則可以使用多模式中的以下指令,取得所有 mdb-container 屬性的值,其中環境設定為:
asadmin> get server1.mdb-container.*
以下是此指令的輸出範例,顯示了屬性的目前值:
server1.mdb-container.logLevel = null
server1.mdb-container.steadyPoolSize = 10
server1.mdb-container.idleInPoolTimeoutInSeconds = 600
server1.mdb-container.maxPoolSize = 60
server1.mdb-container.monitoringEnabled = false
server1.mdb-container.poolResizeQuantity = 2若要僅取得 MDB 容器屬性 monitoringEnabled 的值,請使用以下內容:
asadmin> get server1.mdb-container.montioringEnabled
若要將 monitoringEnabled 屬性值設定為 true,請使用以下內容:
asadmin> set server1.mdb-container.montioringEnabled=true
JMS 資源範例
如需配置任何資源,此屬性應該如下表示:
instancename.resource.primary_key_value.attribute_name
例如︰
asadmin> get server1.jms-resource.myjms.*
取得名為 myjms 的 JMS 目標資源之所有屬性。例如︰
server1.jms-resource.myjms.resType = javax.jms.Topic
server1.jms-resource.myjms.enabled = true
server1.jms-resource.myjms.name = myjms
server1.jms-resource.myjms.description = null取得單一屬性的值,例如 resType:
asadmin> get server1.jms-resource.myjms.resType
設定屬性,例如 description:
asadmin> set server1.jms-resource.myjms.description=mydescription
此範例將 description 設定為 mydescription。
取得並設定多個值範例
您可以使用同一指令,取得並設定多個值。若要同時設定兩個屬性,請使用空格分隔屬性。例如︰
set server1.appReloadPollInterval=20 server1.mime.mime1.file=mime.types
同時,也可以使用環境變數 AS_ADMIN_PREFIX,設定許多 get 與 set 指令要使用的字首。
使用 get 與 set 指令監視
也可以使用 get 與 set 指令,監視執行中的伺服器。list 指令也用於監視。您可以將 monitor 選項設定為 true 或 false。如果設定為 true,則會監視已指定的屬性。如需關於使用指令行介面監視 Sun ONE Application Server 的更多資訊,請參閱「使用 CLI 擷取監視資料」。
使用輔助說明
每個 asadmin 指令的輔助說明均可以透過鍵入 -h 或 --help,從指令提示下取得。例如,如需關於 asadmin 的輔助說明,請鍵入:
asadmin --help
您會看到所有 asadmin 指令的清單。
若要取得特定 asadmin 指令的輔助說明,請鍵入:
asadmin command -h
或
asadmin command --help
此輔助說明包含提要、指令說明、語法資訊、範例,以及相關指令的清單。
請注意,如果您在指令的任何位置使用 -h 或 --help,將取得該指令的輔助說明。此指令將不執行。
也可以在 UNIX 環境中,將指令行輔助說明頁存取為線上援助頁。對於非隨附安裝,請在 MANPATH 環境變數中加入 install_dir/man。完成之後,便可以存取 Sun ONE Application Server 公用程式的線上援助頁,例如,透過在指令提示下鍵入 man asadmin。
檢視輸出與錯誤
指令執行成功後,您將會看到通知您完成作業的訊息。如果指令執行失敗,則會看到錯誤訊息。
本章節包含下列主題:
檢視結束狀況
除錯誤訊息外,asadmin 指令總是在結束狀況下結束。如果此指令執行成功,則結束狀況為 0;如果指令執行失敗,則結束狀況為 1。
在 UNIX 中的結束狀況
可以透過鍵入 echo $?,在指令提示下檢查結束狀況。
也可以在程序檔中使用結束碼,例如,以下 Korn shell 程序檔使用結束狀況,指出 list-instances 指令執行成功還是失敗:
#!/bin/ksh
asadmin list-instances
if [[ $? = 0 ]]
then
echo "success"
else
echo "error"
fi在 Windows 中的結束狀況
在 Windows 中,可以在 .bat 程序檔中檢查結束狀況。例如,以下兩個程序檔分別顯示了成功的程序檔及其傳回的輸出,以及不成功的程序檔及其傳回的輸出:
Success Condition
myscript.bat
------------
echo off
echo Processing Command
call asadmin list-instances --domain domain1
if not %errorlevel% EQU 0 goto end
echo Command Succesful
goto program-end
:end
echo Command Failed
:program-endOutput:
Processing Command
admin-server <not running>
server1 <not running>
Command SuccesfulError Condition
myscript.bat
-------------
echo off
echo Processing Command
call asadmin list-instances
if not %errorlevel% EQU 0 goto end
echo Command Succesful
goto program-end
:end
echo Command Failed
:program-endOutput:
Processing Command
No default domain.Need to enter a domain.
Command Failed檢視用法
如果鍵入沒有引數的指令,則會出現包含此指令語法的錯誤訊息。例如︰
asadmin> create-instance
Invalid number of operands received
USAGE:create-instance [--user admin_user] [--password admin_password] [--host localhost] [--port 4848] [--sysuser sys_user] [--domain domain_name] [--local=false] [--passwordfile file_name] [secure | -s] --instanceport instanceport instancename
安全性考量
您從指令行執行指令行介面時,必須提供使用所有指令的密碼。如果在多模式下執行,則必須在設定環境時,首先提供密碼。如果結束多模式,您再次啟動多模式時,必須再次設定環境,包括密碼。使用環境指令設定密碼。如需更多資訊,請參閱「使用環境指令」。
也可以設定密碼檔案,因此,無需在指令行鍵入密碼。如需更多資訊,請參閱「使用密碼檔案選項」。
如果沒有有效使用者名稱與密碼的認證資訊,指令將不執行。
指令行介面具有您為 Sun ONE Application Server 設定的安全性措施。如需關於 Sun ONE Application Server 中安全性的更多資訊,請參閱「Sun ONE Application Server Administrator's Security Guide」。
並行存取考量
有可能多個使用者使用指令行介面和/或管理介面,嘗試同時配置伺服器。如果這樣,第二個配置請求一直佇列到第一個配置請求完成為止。如果此請求佇列的時間太長,則會逾時。
對於某些指令,只有您使用 reconfig 指令之後,這些變更才會生效。這意味著有多個使用者在變更套用於伺服器之前,可以編輯屬性。如需關於 reconfig 的更多資訊,請參閱「將變更套用至應用程式伺服器實例」。
指令參考
本章節包含下列主題:
指令清單
下表顯示了所有的 asadmin 指令及其用途。如需關於指令語法與用法的更多資訊,請參閱線上輔助說明。
左欄顯示了指令名稱,右欄顯示了其用法。
點名稱與屬性清單
您使用 get 或 set 指令取得並設定屬性時,需知道 asadmin 使用的服務與資源等的名稱,從而可以使用此名稱取得該特定物件的屬性。
由於使用這些名稱的語法在小數點之間分隔名稱,所以這些名稱稱為點名稱。
在 asadmin 中使用的點名稱
下表列示了使用 asadmin 配置項目所使用的名稱。這些名稱分為以下幾類:
服務名稱
下表顯示了取得並設定服務屬性要使用的服務名稱:
資源名稱
下表顯示了取得並設定資源屬性要使用的資源名稱。請注意,這些名稱本身是無效的,其需要資源名稱跟隨其後。
   指令行介面的資源名稱
資源
點名稱
JDBC 資源配置
JNDI 資源配置
JDBC 連接區資源配置
自訂資源配置
JMS 資源配置
持續性管理程式 Factory 資源配置
Java 郵件資源配置
應用程式名稱
下表顯示了取得並設定應用程式相關的配置屬性要使用的點名稱。請注意,這些名稱本身是無效的,其需要應用程式名稱跟隨其後。
   指令行介面的應用程式名稱
應用程式組件
點名稱
應用程式配置
EJB 模組配置
Web 模組配置
連接器模組配置
其他名稱
下表顯示了使用 get 與 set 可以配置的其他項目之點名稱。請注意,這些名稱本身是無效的,其需要應用程式名稱跟隨其後。例如,http-listener.listener_name、lifecycle-module.module-name 等。
   指令行介面的其他項目名稱
項目
點名稱
HTTP 偵聽程式
MIME 類型檔案
ACL
虛擬伺服器
認證資料庫
安全性範圍
生命週期模組
測量程式配置
伺服器配置
屬性
以下章節顯示了以上列示的每個具名項目的屬性,並且提供了用法範例。請注意,某些屬性是唯讀的 (即,其僅可以用在 get 指令中,而不能用在 set 指令中)。
注意 本章節的範例假設已在環境變數中定義了使用者、密碼、主機與連接埠,並且在此語法中未列示這些選項。
jms-service
下表在左欄中顯示了屬性的 server.xml 名稱,在右欄中顯示了 asadmin 使用的名稱。
從實例 (server1) 中取得所有屬性:
asadmin> get server1.jms-service.*
取得名為 adminPassword 的屬性:
asadmin> get server1.jms-service.adminPassword
將名為 adminPassword 的屬性設定為值 admin:
asadmin> set server1.jms-service.adminPassword=admin
transaction-service
下表在左欄中顯示了屬性的 server.xml 名稱,在右欄中顯示了 asadmin 使用的名稱。
從實例 (server1) 中取得所有屬性:
asadmin> get server1.transaction-service.*
取得名為 transactionRecoveryTimeout 的屬性:
asadmin> get server1.transaction-service.transactionRecoveryTimeout
將名為 transactionRecoveryTimeout 的屬性設定為值 49:
asadmin> set server1.transaction-service.transactionRecoveryTimeout=49
mdb-container
下表在左欄中顯示了屬性的 server.xml 名稱,在右欄中顯示了 asadmin 使用的名稱。
從實例 (server1) 中取得所有屬性:
asadmin> get server1.mdb-container.*
取得名為 steadyPoolSize 的屬性:
asadmin> get server1.mdb-container.steadyPoolSize
將名為 steadyPoolSize 的屬性設定為值 10:
asadmin> set server1.mdb-container.steadyPoolSize=10
ejb-container
下表在左欄中顯示了屬性的 server.xml 名稱,在右欄中顯示了 asadmin 使用的名稱。
從實例 (server1) 中取得所有屬性:
asadmin> get server1.ejb-container.*
取得名為 maxPoolSize 的屬性:
asadmin> get server1.ejb-container.maxPoolSize
將名為 maxPoolSize 的屬性設定為值 12:
asadmin> set server1.ejb-container.maxPoolSize=12
web-container
下表在左欄中顯示了屬性的 server.xml 名稱,在右欄中顯示了 asadmin 使用的名稱。
   Web 容器屬性
server.xml 名稱
asadmin 名稱
log-level
logLevel
monitoring-enabled
monitoring-enabled (不使用)
從實例 (server1) 中取得所有屬性:
asadmin> get server1.web-container.*
取得名為 logLevel 的屬性:
asadmin> get server1.web-container.logLevel
將名為 monitoringEnabled 屬性設定為 WARNING:
asadmin> set server1.web-container.logLevel=WARNING
java-config
下表在左欄中顯示了屬性的 sserver.xml 名稱,在右欄中顯示了 asadmin 使用的名稱。
從實例 (server1) 中取得所有屬性:
asadmin> get server1.java-config.*
取得名為 classpathprefix 的屬性:
asadmin> get server1.java-config.classpathprefix
將名為 classpathprefix 的屬性設定為值 com.sun:
asadmin> set server1.java-config.classpathprefix=com.sun
orb 或 iiop-service
下表在左欄中顯示了屬性的 server.xml 名稱,右欄中顯示了 asadmin 使用的名稱。
從實例 (server1) 中取得所有屬性:
asadmin> get server1.orb.*
或
asadmin> get server1.iiop-service.*
取得名為 msgSize 的屬性:
asadmin> get server1.orb.msgSize
或
asadmin> get server1.iiop-service.msgSize
將名為 idleThreadTimeout 的屬性設定 300:
asadmin> set server1.orb.idleThreadTimeout=300
或
asadmin> set server1.iiop-service.idleThreadTimeout=300
orblistener 或 iiop-listener
下表在左欄中顯示了屬性的 server.xml 名稱,在右欄中顯示了 asadmin 使用的名稱。
從實例 (server1) 中取得所有屬性:
asadmin> get server1.orblistener.orb_listener_id.*
或
asadmin> get server1.iiop-listener.orb_listener_id.*
取得名為 port 的屬性:
asadmin> get server1.orblistener.orb_listener_id.port
或
asadmin> get server1.iiop-listener.orb_listener_id.port
將名為 address 的屬性設定為 bluestar:
asadmin> set server1.orblistener.orb_listener_id.address=bluestar
或
asadmin> set server1.iiop-listener.orb_listener_id.address=bluestar
log-service
下表在左欄中顯示了屬性的 server.xml 名稱,在右欄中顯示了 asadmin 使用的名稱。
從實例 (server1) 中取得所有屬性:
asadmin> get server1.log-service.*
取得名為 level 的屬性:
asadmin> get server1.log-service.level
將名為 echoToStderr 的屬性設定為 true:
asadmin> set server1.log-service.echoToStderr=true
security-service
下表在左欄中顯示了屬性的 server.xml 名稱,在右欄中顯示了 asadmin 使用的名稱。
從實例 (server1) 中取得所有屬性:
asadmin> get server1.security-service.*
取得名為 anonymousRole 的屬性:
asadmin> get server1.security-service.anonymousRole
將名為 encryptPasswords 的屬性設定為 true:
asadmin> set server1.security-service.auditEnabled=true
http-service
下表在左欄中顯示了屬性的 server.xml 名稱,在右欄中顯示了 asadmin 使用的名稱。
從實例 (server1) 中取得所有屬性:
asadmin> get server1.http-service.*
取得名為 bandwidthLimit 的屬性:
asadmin> get server1.http-service.bandwidthLimit
將名為 qos-enabled 的屬性設定為 true:
asadmin> set server1.http-service.qos-enabled=true
jdbc-resource
下表在左欄中顯示了屬性的 server.xml 名稱,在右欄中顯示了 asadmin 使用的名稱。
   JDBC 資源屬性
server.xml 名稱
asadmin 名稱
jndi-name
name
pool-name
pool
enabled
enabled
description
description
從實例 (server1) 中取得所有屬性:
asadmin> get server1.jdbc-resource.jdbc_resource_name.*
取得名為 pool 的屬性:
asadmin> get server1.jdbc-resource.jdbc_resource_name.pool
將名為 enabled 的屬性設定為 true:
asadmin> set server1.jdbc-resource.jdbc_resource_name.enabled=true
jndi-resource
下表在左欄中顯示了屬性的 server.xml 名稱,在右欄中顯示了 asadmin 使用的名稱。
   JNDI 資源屬性
server.xml 名稱
asadmin 名稱
jndi-name
name
jndi-lookup-name
LookupName
res-type
resType
factory-class
factory
enabled
enabled
description
description
從實例 (server1) 中取得所有屬性:
asadmin> get server1.jndi-resource.jndi_name.*
取得名為 factory 的屬性:
asadmin> get server1.jndi-resource.jndi_name.factory
將名為 factory 的屬性設定為 com.sun:
asadmin> set server1.jndi-resource.jndi_name.factory=com.sun
jdbc-connection-pool
下表在左欄中顯示了屬性的 server.xml 名稱,在右欄中顯示了 asadmin 使用的名稱。
從實例 (server1) 中取得所有屬性:
asadmin> get server1.jdbc-connection-pool.pool_name.*
取得名為 dsClassName 的屬性:
asadmin> get server1.jdbc-connection-pool.pool_name.dsClassName
將名為 resizeValue 的屬性設定為 2:
asadmin> set server1.jdbc-connection-pool.pool_name.resizeValue=2
custom-resource
下表在左欄中顯示了屬性的 server.xml 名稱,在右欄中顯示了 asadmin 使用的名稱。
   自訂資源屬性
server.xml 名稱
asadmin 名稱
jndi-name
name
res-type
resType
factory-class
factory
enabled
enabled
description
description
從實例 (server1) 中取得所有屬性:
asadmin> get server1.custom-resource.jndi_name.*
取得名為 factory 的屬性:
asadmin> get server1.custom-resource.jndi_name.factory
設定名為 factory 的屬性:
asadmin> set server1.custom-resource.jndi_name.factory=myclass
jms-resource
下表在左欄中顯示了屬性的 sserver.xml 名稱,在右欄中顯示了 asadmin 使用的名稱。
   JMS 資源屬性
server.xml 名稱
asadmin 名稱
jndi-name
name
res-type
resType
enabled
enabled
description
description
從實例 (server1) 中取得所有屬性:
asadmin> get server1.jms-resource.jms_resource_name.*
取得名為 res-type 的屬性:
asadmin> get server1.jms-resource.jms_resource_name.resType
將名為 enabled 的屬性設定為 true:
asadmin> set server1.jms-resource.jms_resource_name.enabled=true
persistence-manager-factory-resource
下表在左欄中顯示了屬性的 server.xml 名稱,在右欄中顯示了 asadmin 使用的名稱。
   持續性管理程式 Factory 資源屬性
server.xml 名稱
asadmin 名稱
jndi-name
jndiName
jdbc-resource-jndi-name
JdbcResourceJndiName
factory-class
factoryClass
enabled
enabled
description
description
從實例 (server1) 中取得所有屬性:
asadmin> get server1.persistence-manager-factory-resource.jndi_name
取得名為 factoryClass 的屬性:
asadmin> get server1.persistence-manager-factory-resource.jndi_name.factoryClass
將名為 enabled 的屬性設定為 true:
asadmin> set server1.persistence-manager-factory-resource.jndi_name.enabled=true
mail-resource
下表在左欄中顯示了屬性的 server.xml 名稱,在右欄中顯示了 asadmin 使用的名稱。
從實例 (server1) 中取得所有屬性:
asadmin> get server1.mail-resource.jndi_name.*
取得名為 host 的屬性:
asadmin> get server1.mail-resource.jndi_name.host
將名為 enabled 的屬性設定為 true:
asadmin> set server1.mail-resource.jndi_name.enabled=true
application
下表在左欄中顯示了屬性的 server.xml 名稱,在右欄中顯示了 asadmin 使用的名稱。
   應用程式屬性
server.xml 名稱
asadmin 名稱
name
name
location
location
virtual-servers
virtualServers
description
description
enabled
enabled
從實例 (server1) 中取得所有屬性:
asadmin> get server1.application.application_name.*
在應用程式中取得名為 location 的屬性:
asadmin> get server1.application.application_name.location
設定名為 location 的屬性:
asadmin> set server1.application.application_name.location=
"/export/home/as7se/as1/repository/applications/ASConverter"ejb-module
下表在左欄中顯示了屬性的 server.xml 名稱,在右欄中顯示了 asadmin 使用的名稱。
   EJB 模組屬性
server.xml 名稱
asadmin 名稱
name
name
location
location
description
description
enabled
enabled
取得實例 (server1) 中獨立 EJB 模組的所有屬性:
asadmin> get server1.ejb-module.ejb_jar_name.*
為實例 (server1) 取得應用程式中 EJB 模組的所有屬性:
asadmin> get server1.j2ee-application.application_name.ejb-module.ejb_jar_name.*
或
asadmin>get server1.application.application_name.ejb-module.ejb_jar_name.*
從獨立的 EJB 模組中取得名為 location 的屬性:
asadmin> get server1.ejb-module.ejb_jar_name.location
在應用程式的 EJB 模組中取得名為 location 的屬性:
asadmin> get server1.j2ee-application.application_name.ejb-module.ejb_jar_name.
location或
asadmin> get server1.application.application_name.ejb-module.ejb_jar_name.location
在獨立的 EJB 模組中設定名為 location 的屬性:
asadmin> set server1.ejb-module.ejb_jar_name.location="/export/home/as7se/as1/repository/modul es/ejb_jar_name"
在隨附於應用程式的 EJB 模組中設定名為 location 的屬性:
asadmin> set server1.j2ee-application.application_name.ejb-module.ejb_jar_name.
location="/export/home/as7se/as1/repository/modules/ejb_jar_name"或
asadmin>set server1.application.application_name.ejb-module.ejb_jar_name.location="/ex port/home/as7se/as1/repository/modules/ejb_jar_name"
web-module
下表在左欄中顯示了屬性的 server.xml 名稱,在右欄中顯示了 asadmin 使用的名稱。
   WEB 模組屬性
server.xml 名稱
asadmin 名稱
name
name
location
location
context-root
contextRoot
virtual-servers
virtualServers
description
description
enabled
enabled
取得實例 (server1) 中獨立 web 模組的所有屬性:
asadmin> get server1.web-module.web_war_name.*
為實例 (server1) 取得應用程式中 web 模組的所有屬性:
asadmin> get server1.web-module.application_name.web_war_name.*
從獨立的 web 模組中取得名為 location 的屬性:
asadmin> get server1.web-module.web_war_name.location
從應用程式的 web 模組中取得名為 location 的屬性:
asadmin> get server1.web-module.application_name.web_war_name.location
在獨立的 web 模組中設定名為 location 的屬性:
asadmin> set server1.web-module.war-ic.location=
"/export/home/as7se/as1/repository/modules/web_war_name"在隨附於應用程式的 web 模組中設定名為 location 的屬性:
asadmin> set server1.web-module.application_name.web_war_name.location=
"/export/home/as7se/as1/repository/modules/web_war_name"connector-module
下表在左欄中顯示了屬性的 server.xml 名稱,在右欄中顯示了 asadmin 使用的名稱。
   連接器模組屬性
server.xml 名稱
asadmin 名稱
name
name
location
location
description
description
enabled
enabled
取得實例 (server1) 中獨立連接器模組的所有屬性:
asadmin> get server1.connector-module.connector_rar_name.*
從獨立的連接器模組中取得名為 location 的屬性:
asadmin> get server1.connector-module.connector_rar_name.location
在獨立的連接器模組中設定名為 location 的屬性:
asadmin> set server1.connector-module.connector_rar_name.location=
"/export/home/as7se/as1/repository/modules/connector_rar_name"http-listener 或 http-server.http-listener
下表在左欄中顯示了屬性的 server.xml 名稱,在右欄中顯示了 asadmin 使用的名稱。
從實例 (server1) 中取得所有屬性:
asadmin> get server1.http-listener.http_listener_name.*
或
asadmin> get server1.http-server.http-listener.http_listener_name.*
取得名為 factory 的屬性:
asadmin> get server1.httpl-listener.http_listener_name.address
或
asadmin> get server1.http-server.http-listener.http_listener_name.address
將名為 address 的屬性設定為 0.0.0.0 IP 位址:
asadmin> set server1.http-listener.http_listener_name.address=0.0.0.0
或
asadmin> set server1.http-server.http-listener.http_listener_name.address=0.0.0.0
mime
下表在左欄中顯示了屬性的 server.xml 名稱,在右欄中顯示了 asadmin 使用的名稱。
   MIME 類型屬性
server.xml 名稱
asadmin 名稱
id
id
file
file
從實例 (server1) 中取得所有屬性:
asadmin> get server1.mime.mime_name.*
取得名為 file 的屬性:
asadmin> get server1.mime.mime_name.file
將名為 file 的屬性設定為 mime.types:
asadmin> set server1.mime.mime_name.file=mime.types
acl
下表在左欄中顯示了屬性的 server.xml 名稱,在右欄中顯示了 asadmin 使用的名稱。
   ACL 屬性
server.xml 名稱
asadmin 名稱
id
id
file
file
從實例 (server1) 中取得所有屬性:
asadmin> get server1.acl.acl_name.*
取得名為 file 的屬性:
asadmin> get server1.acl.acl_name.file
設定名為 file 的屬性:
asadmin> set server1.acl.acl_name.file=com/as1.acl
virtual-server
下表在左欄中顯示了屬性的 server.xml 名稱,在右欄中顯示了 asadmin 使用的名稱。
從實例 (server1) 中取得所有屬性:
asadmin> get instance_name.virtual-server.vserver_id.*
例如︰
asadmin> get server1.virtual-server.server1.*
取得虛擬伺服器 server1 的名為 httpListeners 之屬性:
asadmin> get server1.virtual-server.server1.httpListeners
將名為 acceptLanguage 的屬性設定為 false:
asadmin> set server1.virtual-acceptLanguage=false
auth-db
下表在左欄中顯示了屬性的 server.xml 名稱,右欄中顯示了 asadmin 使用的名稱。
   認證資料庫屬性
server.xml 名稱
asadmin 名稱
id
id
database
database
basedn
basedn
certmaps
certmaps
從實例中取得所有屬性:
asadmin> get instancename.virtual-server.vserver_id.auth-db.authdb_id.*
例如,對於實例 server1,虛擬伺服器 server1:
asadmin> get server1.virtual-server.server1.auth-db.authdb_id.*
取得名為 database 的屬性:
asadmin> get server1.virtual-server.server1.auth-db.authdb_id.database
設定名為 database 的屬性:
asadmin> set server1.virtual-server.server1.auth-db.authdb_id.database=Oracle
authrealm
下表在左欄中顯示了屬性的 server.xml 名稱,右欄中顯示了 asadmin 使用的名稱。
   授權範圍屬性
server.xml 名稱
asadmin 名稱
name
name
classname
classname
從實例 (server1) 中取得所有屬性:
asadmin> get server1.authrealm.authrealm_id.*
取得名為 classname 的屬性:
asadmin> get server1.authrealm.authrealm_id.classname
設定名為 classname 的屬性:
asadmin> set server1.authrealm.authrealm_id.classname=com.sun.as.security.auth.real m.sharedpassword.SharedPasswordRealm
lifecycle-module
下表在左欄中顯示了屬性的 server.xml 名稱,右欄中顯示了 asadmin 使用的名稱。
   生命週期模組屬性
server.xml 名稱
asadmin 名稱
name
name
enabled
enabled
class-name
className
classpath
classPath
load-order
loadOrder
is-failure-fatal
isFailureFatal
description
description
從實例 (server1) 中取得所有屬性:
asadmin> get server1.lifecycle-module.lifecycle_module_id.*
為生命週期模組取得名為 className 的屬性:
asadmin> get server1.lifecycle-module.lifecycle_module_id.className
設定名為 className 的屬性:
asadmin> set server1.lifecycle-module.lifecycle_module_id.className=com.lifecycle_module_id. lifecycle
profiler
下表在左欄中顯示了屬性的 server.xml 名稱,右欄中顯示了 asadmin 使用的名稱。
   JVM 測量程式配置屬性
server.xml 名稱
asadmin 名稱
name
name
classpath
classPath
native-library-path
nativeLibraryPath
enabled
enabled
從實例 (server1) 中取得所有屬性:
asadmin> get server1.profiler.*
取得名為 enabled 的屬性:
asadmin> get server1.profiler.enabled
將名為 enabled 的屬性設定為 false:
asadmin> set server1.profiler.enabled=false
server configuration (伺服器實例名稱)
下表在左欄中顯示了屬性的 server.xml 名稱,右欄中顯示了 asadmin 使用的名稱。
從實例 (server1) 中取得所有屬性:
asadmin> get server1.*
取得名為 logRoot 的屬性:
asadmin> get server1.logRoot
設定名為 logRoot 的屬性:
asadmin> set server1.logRoot="/space/log"
長選項格式與短選項格式、預設值與對等的環境變數
下表列示了指令行選項的長格式與短格式。如果沒有列示短格式,則此選項的短格式不可用。