WebSphere Application Server 提供了一个名为 wsadmin 的命令行管理工具,可以使用它以交互方式或通过使用Jacl 脚本或者Jython脚本来运行管理命令。
这种脚本非图形的备用方法,可以用来配置和管理 WebSphere? Application Server。WebSphere Application Server wsadmin 工具提供运行脚本的能力。wsadmin 工具支持整个范围的产品管理活动。
wsadmin 工具支持两种脚本语言:Jacl 和 Jython。当您使用脚本时,有五个对象可用:
- AdminControl:用于运行操作命令。
- AdminConfig:用于运行配置命令以创建或修改 WebSphere Application Server 配置元素。
- AdminApp:用于管理应用程序。
- AdminTask:用于运行管理命令。
- Help:用于获取一般帮助。
脚本使用这些对象与运行在 WebSphere Application Server 进程中的 MBean 通信。MBean 是表示 Java? 管理扩展 (JMX) 资源的 Java 对象。JMX 是附加于 Java 2 Platform Standard Edition (J2SE) 的可选软件包。JMX 是提供简单且标准的方法来管理 Java 对象的一种技术。
要使用脚本执行任务,您必须首先执行以下步骤:
- 选择一种脚本语言。wsadmin 工具仅支持 Jacl 和 Jython 脚本语言。Jacl 是缺省指定的语言。如果要使用 Jython 脚本语言,使用 -lang 选项或在 wsadmin.properties 文件中指定。
运行 wsadmin 工具.
此主题描述如何启动交互式 wsadmin 会话和调用 wsadmin 命令的其它方法。可以使用交互式 wsadmin 会话输入 wsadmin 命令来管理 WebSphere Application Server 的实例。
脚本编制对象
命令行管理客户机提供了四个可以在脚本中使用的对象:AdminApp、AdminControl、AdminConfig 和 Help。此主题提供关于其中每个对象的信息。
wsadmin 的 Java 属性
wsadmin 使用的 Java 属性存储在 wsadmin.properties 文件中。此主题描述这些属性。
运行 wsadmin 工具
此主题描述如何启动与停止交互式 wsadmin 会话和调用 wsadmin 命令的其它方法。
交互式会话是个外壳程序环境,在此环境中可以运行 wsadmin 命令和脚本。
启动 wsadmin
停止 wsadmin
也可以运行单一命令或脚本文件而不启动交互式会话,或在交互式会话启动之前运行概要文件中的命令。可以调用 wsadmin 命令的其它方法如下:
单独运行 wsadmin 命令
运行脚本中的 wsadmin 命令
运行概要文件中的 wsadmin 命令
启动 wsadmin
要启动交互式 wsadmin 会话,执行以下步骤:
1.在 Windows 命令行上使用 cd 命令进入产品安装根目录的 bin 目录:
cd websphere\appserver\bin
2.在 cmd提示符下输入以下命令:
wsadmin -instance instance
其中 instance 是要管理的实例的名称。
在退出交互式会话之前,运行以下命令来保存配置更改:
wsadmin> $AdminConfig save
如果不运行此命令,当退出交互式会话时,wsadmin 将废弃更改。
停止 wsadmin
要退出 wsadmin,在 wsadmin 提示符下输入以下命令:
wsadmin> exit/quit
单独运行 wsadmin 命令
要单独运行命令,当运行 wsadmin 命令时指定 -c 选项。
wsadmin -instance instance -c '$AdminApp list'
WASX7209I: Connected to process "server" on node node using SOAP connector; The type of process is: UnManagedProcess
adminconsole
DefaultApplication
ivtApp
在此示例中,instance 是 WebSphere Application Server 实例的名称,server 是应用程序服务器的名称,node 是 iSeries 主机服务器的名称:
当运行带有 -c 参数的命令时,将自动保存配置更改。不需要运行 $AdminConfig save 命令。
运行脚本中的 wsadmin 命令
在运行脚本之后,wsadmin 返回至 Qshell 提示符。
要运行脚本中的命令,当运行 wsadmin 命令时指定 -f 选项:
wsadmin -instance instance -f 'script.jacl'
WASX7209I: Connected to process "server" on node node using SOAP connector; The type of process is: UnManagedProcess
adminconsole
DefaultApplication
ivtApp
在此示例中,instance 是 WebSphere Application Server 实例的名称,server 是应用程序服务器的名称,node 是实例运行所在节点的名称,script.jacl 是包含这些命令的 Jacl 脚本的全限定路径:
set apps [$AdminApp list]
puts $apps
如果运行对应用程序服务器的配置进行更改的脚本文件,必须在脚本的末尾包括 $AdminConfig save 命令。如果不包括此命令,wsadmin 不会保存更改。
运行概要文件中的 wsadmin 命令
wsadmin 工具在运行概要文件中的命令后启动一个交互式会话。
要运行概要文件中的命令,当运行 wsadmin 命令时指定 -profile 选项:
wsadmin -instance instance -profile 'profile.jacl'
WASX7209I: Connected to process "server" on node node using SOAP connector; The type of process is: UnManagedProcess
Applications currently installed:
adminconsole
DefaultApplication
ivtApp
WASX7029I: For help, enter: "$Help help"
wsadmin>
在此示例中,instance 是 WebSphere Application Server 实例的名称,server 是应用程序服务器的名称,node 是实例运行所在节点的名称,profile.jacl 是包含这些命令的概要文件的全限定路径:
set apps [$AdminApp list]
puts "Applications currently installed:\n$apps"
语法和参数
此页面描述 wsadmin 命令的语法和参数。
语法
wsadmin -instance instance [ -c 'command' | -f scriptfile ]
[ -lang lang ] [ -p propertiesfile ] [ -profile scriptfile ]
[ -conntype SOAP | RMI | JMS | NONE [ -host host ] [ -port port] ]
[ -wsadmin_classpath classpath ] [ -help ] [ -? ] [ script_parameters ]
参数
·-instance
如果要使用非缺省实例,则需要此参数。如果未对此参数指定值,wsadmin 使用缺省实例。
·-c
此可选参数指定要运行的单一命令。如果指定此参数,wsadmin 运行输入的命令,然后将控制权返回到 Qshell 提示符。要运行多个命令,可以对要运行的每个命令指定 -c 参数。将按列示命令的次序运行命令。
·-f
此可选参数指定脚本源和要运行的脚本。如果指定此参数,wsadmin 运行指定的脚本,然后返回到 Qshell 提示符。
·-lang
因为 Jacl 是唯一支持的脚本语言,所以不需要指定此参数。
·-p
此可选参数指定要装入的属性文件。在装入用 -p 指定的任何文件之前,将装入两个属性文件。
1.第一个文件是以下目录中的 wsadmin. 属性文件:
§WebSphere Application Serve :
/QIBM/UserData/WebAS5/Base/instance/properties/wsadmin.properties
§WebSphere Application Server Network Deployment:
/QIBM/UserData/WebAS5/ND/instance/properties/wsadmin.properties
其中 instance 为 WebSphere Application Server 实例的名称。
2.第二个文件是 /home/QEJBSVR/wsadmin.properties。此文件未随 WebSphere Application Server 一起交付。
可以多次指定 -p 参数。如果这样做,将按指定的次序调用属性文件。
·-profile
此可选参数指定概要文件脚本。概要文件脚本在其它命令或脚本之前运行。如果指定 -c,概要文件在单一命令之前运行。如果指定-f,概要文件在脚本之前运行。如果不指定 -c 或 -f,wsadmin 运行概要文件中的命令,然后启动交互式 wsadmin会话。可以指定多个 -profile 参数。如果这样做,将按指定的次序调用概要文件脚本。
·-conntype
此可选参数指定用于连接至要管理的应用程序服务器的连接类型。conntype 参数的有效值为 SOAP、RMI、JMS 和NONE。缺省值为 SOAP。(JMS 在 WebSphere Application Server的当前版本中是不受支持的连接类型。)-conntype 参数确定哪个端口(如果有的话)用于连接至服务器。如果将 conntype 参数指定为NONE ,则只有 $AdminApp 命令可用。
·-host
此可选参数指定运行您想管理的应用程序服务器的系统的主机名。如果不指定此参数,则主机名缺省为 localhost。
·-port
如果指定 -conntype 参数,则可以指定用于连接至远程应用程序服务器的端口号。例如,如果使用 SOAP连接,则为要管理的应用程序服务器指定 SOAP 端口。如果不指定此参数,则脚本使用在实例的 wsadmin. 属性文件中对com.ibm.ws.scripting.port 属性指定的值(如果该属性存在)。如果属性在为 wsadmin脚本显式或隐式指定的任何属性文件中不存在,将发生错误。当创建实例时,将用实例的 SOAP 和 RMI 连接器端口更新 wsadmin.属性文件。对于缺省 WebSphere Application Server 实例,这些端口为 8880(对于 SOAP)和 2809(对于RMI)。对于缺省 WebSphere Application Server Network Deployment 实例,这些端口为8879(对于 SOAP)和 9809(对于 RMI)。
·-wsadmin_classpath
此可选参数使附加类可用于脚本编制进程。值 classpath 指定包含要 wsadmin访问的类的类路径。指定的类路径将添加至脚本编制进程的类装入器中。也可以在 wsadmin.properties 文件中用com.ibm.ws.scripting.classpath 属性指定此选项。-wsadmin_classpath 参数覆盖在wsadmin.properties 中指定的任何值。
·-help 或 -?
提供语法帮助的可选自变量。
·script_parameters
如果指定 -f 参数以运行脚本,则可以在 wsadmin 命令中包括该脚本的参数。
示例
下列示例演示了正确的语法。在这些示例中,mymachine 为包含 SOAP 或 RMI 连接器的服务器运行所在的主机的名称。在 wsadmin. 属性文件中通过 com.ibm.ws.scripting.port 指定端口。
·与本地主机上的缺省 WebSphere Application Server 实例的 SOAP 连接
wsadmin
·与本地主机上的 WebSphere Application Server 实例 test 的 SOAP 连接
wsadmin -instance test
·使用端口 8880 与 as400 主机的 SOAP 连接
wsadmin -conntype SOAP -host as400 -port 8880
·使用端口 2809 与 as400 主机的 RMI 连接
wsadmin -conntype RMI -host as400 -port 2809
脚本编制对象
有四个对象可以在脚本中使用:
· AdminControl
· AdminConfig
· AdminApp
· Help
AdminControl 对象
可以使用 AdminControl 对象来对在 WebSphere Application Server 中运行的对象调用操作命令。
可用于 AdminControl 的方法示例包括:getAttribute、setAttribute 和 invoke。很多AdminControl 方法有多个特征符,以便可以使用通过“Java管理扩展”(JMX)指定的参数或使用字符串表示参数来以原始方式调用它们。
注意:大多数用户应该使用字符串特征符。
除了操作命令外,AdminControl 对象还支持某些用于跟踪、再连接服务器和转换类型的实用程序方法。有关更多信息,参见用于脚本管理的 AdminControl 对象。
AdminConfig 对象
使用 AdminConfig 对象来调用配置命令并创建或更改 WebSphere Application Server 配置的元素。
AdminConfig 对象的方法示例包括:create、remove、list、show 和 modify。有关更多信息,参见用于脚本管理的 AdminConfig 对象。
AdminApp 对象
使用 AdminApp 对象来安装、修改和管理应用程序。
AdminApp 对象与 WebSphere Application Server管理和配置服务进行交互以便执行应用程序查询和更改。它包括安装和卸载应用程序、移动模块、列示模块和导出等等。AdminApp 对象与AdminConfig 和 AdminControl 对象不同,因为要使用 AdminConfig 和AdminContro,必须将脚本编制进程连接至服务器。可以用本地方式调用大多数 AdminApp功能,这意味着客户机不与服务器通信就能完成功能。有关更多的信息,参见用于脚本管理的 AdminApp 对象。
Help 对象
Help 对象提供一般帮助和有关正在运行的 MBean 的动态联机信息。
可以使用 Help 对象来帮助编写和运行具有 AdminControl对象的脚本。某些方法包括:attributes、operations、AdminConfig 和AdminControl。有关更多的信息,参见用于脚本管理的 Help 对象。
wsadmin 的 Java 属性
wsadmin 编制脚本客户机使用以下所示的 Java 属性。这些属性在 wsadmin.properties 文件中指定,此文件位于以下目录:
·WebSphere Application Server:/QIBM/UserData/WebAS5/Base/instance/properties
·WebSphere Application Server Network Deployment:/QIBM/ProdData/WebAS5/ND/instance/properties
其中 instance 是实例的名称。
注意:这些属性中的某些属性有两个缺省值。
·iSeries 缺省值
当创建实例时,将在 wsadmin.properties 文件中设置此值。此文件中指定的值覆盖 wsadmin 工具缺省值。
·wsadmin 工具缺省值
这些值已在工具中硬编码。如果未指定其它值,则工具使用这些缺省值。
以下是包含在 wsadmin.properties 文件中的 Java 属性:
·com.ibm.ws.scripting.connectionType
此值确定要使用的连接类型。可能值为 SOAP(简单对象访问协议)、RMI(远程方法调用)或 NONE。iSeries 缺省值为 SOAP。
·com.ibm.ws.scripting.port
此属性指定连接器使用的端口。缺省值为实例的 SOAP 端口。
·com.ibm.ws.scipting.host
脚本编制进程尝试连接的主机。缺省值为 localhost。
·com.ibm.ws.scripting.defaultLang
此属性指定当执行脚本时要使用的语言。Jacl 是唯一受支持的语言。如果指定 -f 参数,则 wsadmin检查文件扩展名是否映射至已知值。例如,如果文件名是 test.jacl,则它将语言设置为 JACL。如果未指定 -f参数或文件类型是未知的,则 wsadmin 会生成错误。
iSeries 缺省值:jacl。
工具缺省值:无
·com.ibm.ws.scripting.traceFile
此属性指定一个文件,脚本编制进程将把跟踪和记录信息写入该文件。
iSeries 缺省值:以下目录中的 wsadmin.traceout 文件:
§ WebSphere Application Server:
/QIBM/UserData/WebAS5/Base/instance/logs/wsadmin.traceout
§ WebSphere Application Server Network Deployment:
/QIBM/UserData/WebAS5/ND/instance/logs/wsadmin.traceout
其中 instance 是实例的名称。
工具缺省值:将跟踪输出打印至屏幕。
·com.ibm.ws.scripting.validationOutput
此属性指定将验证报告定向至何处。如果多个用户同时使用 wsadmin 管理某个实例,建议在用户属性文件中指定不同的 validationOutput 属性。
iSeries 缺省值:以下目录中的 wsadmin.valout 文件:
§ WebSphere Application Server:
/QIBM/UserData/WebAS5/Base/instance/logs/wsadmin.valout
§ WebSphere Application Server Network Deployment:
/QIBM/UserData/WebAS5/ND/instance/logs/wsadmin.valout
其中 instance 是实例的名称。
工具缺省值:当前目录中的 wsadmin.valout
·com.ibm.ws.scripting.traceString
此属性用于打开对脚本编制进程的跟踪。例如,使用 com.ibm.ws.scripting.*=all=enabled 来打开对脚本编制代码的所有跟踪。缺省值为不使用跟踪。
·com.ibm.ws.scripting.profiles
概要文件属性是 wsadmin 在运行用户命令、脚本或交互式外壳程序之前运行的概要文件的列表。
iSeries 缺省值包括 /QIBM/ProdData/WebAS5/Base/bin/securityProcs.jacl 和/QIBM/ProdData/WebAS5/Base/bin/LTPA_LDAPSecurityProcs.jacl。这些概要文件脚本使得配置安全性很容易。
工具缺省值:无
·com.ibm.ws.scripting.emitWarningForCustomSecurityPolicy
此属性指定当找到定制许可时是否发出消息 WASX7207W。可能值为 TRUE 和 FALSE。
iSeries 缺省值:无
工具缺省值:TRUE
·com.ibm.ws.scripting.tempdir
此属性指定当安装应用程序时要用于临时文件的目录。
iSeries 缺省值:无
工具缺省值:Java 系统属性 java.io.tempdir 的值
·com.ibm.ws.scripting.validationLevel
此属性指定当从脚本编制界面进行配置更改时要使用的验证级别。可能值为 NONE、LOW、MEDIUM、HIGH 和 HIGHEST。
iSeries 缺省值:无
工具缺省值:HIGHEST
·com.ibm.ws.scripting.crossDocumentValidationEnabled
此属性指定当更改一个文档时验证机制是否检查其它文档。可能值为 TRUE 和 FALSE。
iSeries 缺省值:无
工具缺省值:TRUE
·com.ibm.ws.scripting.classpath
此类路径属性将附加到用于搜索类和资源的路径列表中。对于 iSeries 或 wsadmin 工具无缺省值。