wsadmin 脚本编制工具
wsadmin 工具运行脚本。 可以使用 wsadmin 工具来管理应用程序服务器以及配置、应用程序部署和服务器运行时操作。
将特定概要文件用于不同的用户权限。
- 同一用户必须在一个概要文件中运行所有命令。
- 确保特定概要文件的所有用户都属于同一组。 此外,请确保组的每个用户都对同一概要文件中由其他成员创建的文件具有读写权限。
- 必须在 wsadmin 交互式 shell 中的一行上输入 wsadmin 命令。 即,连续输入该命令,而不要将其拆分成多行。 不支持将较长的 wsadmin 命令拆分成多行。 尝试在 wsadmin 交互式 shell 中运行拆分成多行的 wsadmin 命令将导致语法错误。
- wsadmin 工具在解析字符串时除去任何前导空格和尾部空格,包括
\n,\r,\t和\f空格,以避免发生任何用户错误。 例如,有人可能会意外地点击空格键或 Tab 键,并向命令字符串添加额外的空间。 此额外空间可能导致命令或脚本失败。 如果需要在命令中包含额外空间,请使用列表语法而不是字符串语法,或者将包含额外空间的字符串括在[ ](方括号) 中。
对 wsadmin 脚本客户机使用以下命令行调用语法:
wsadmin [-h(help)]
[-?]
[-c command]
[-p properties_file_name]
[-profile profile_script_name]
[-profileName profile_name]
[-f script_file_name]
[-javaoption java_option]
[-lang language]
[-wsadmin_classpath classpath]
[-conntype SOAP [-host host_name] [-port port_number] [-user userid] [-password password]
[-conntype RMI [-host host_name] [-port port_number] [-user userid] [-password password]
[-conntype JSR160RMI [-host host_name] [-port port_number] [-user userid] [-password password]
[-conntype IPC [-ipchost host_name] [-port port_number] [-user userid] [-password password]
[-jobid jobid_string]
[-tracefile trace_file]
[-appendtrace true/false]
[script parameters]
元素script parameters表示除先前列示的自变量以外的任何自变量。 argc 变量包含参数的数目,argv 变量以参数编码的顺序包含这些参数的列表。
选项
- -c
- 指定运行单条命令。 -c 选项后面必须有命令。 该命令行上可以有多个 -c 选项。 它们按您指定的顺序运行。
如果使用 -c 选项调用 wsadmin 工具,那么会自动保存对配置所作的任何更改。 如果您进行了配置更改,但未使用 -c 选项,那么必须使用 AdminConfig 对象的 save 命令来保存这些更改。 请参阅“使用 wsadmin 工具保存配置更改”,以了解更多信息。
- -f
- 指定要运行的脚本。 -f 选项后面必须有文件名。
该命令行上只能有一个 -f 选项。
可使用 -f 选项以运行包含嵌套 Jython 脚本的脚本。 在以下示例中,test2 脚本导入 test1 脚本:#test1.py def listServer(): print AdminConfig.list("Server")#test2.py import test1 test1.listServer()要运行调用者脚本,请从 app_server_root/bin 目录运行以下命令:wsadmin -lang jython -f test2.py在脚本运行之后,系统会返回以下样本命令输出:server1(cells/myCell/nodes/myNode/servers/myServer|server.xml#Server_1183122130078) - -javaoption
- 指定有效的 Java 标准或非标准选项。 该命令行上可以有多个 -javaoption 选项。
wsadmin -javaoption java_option -javaoption java_option要缩短命令的长度,请按以下方式输入命令:
wsadmin -javaoption "java_option java_option"对于过渡期用户: 您无法使用缩短的
wsadmin -javaoption "java_option java_option"命令。 必须使用较长的wsadmin.sh -javaoption java_option -javaoption java_option格式。 与先前版本不同, V 8 产品在 Windows 操作系统上不支持在一个-javaoption选项中同时使用多个 Java 选项。在 Windows 操作系统上,如果选项包含等号 (
== );或分号 (; ),则必须用双引号 ("") 包裹该选项;例如:
Windows 操作系统将命令行参数中的等号 (wsadmin -javaoption "-Da.b.c=3"=) 或分号 (;) 视为空格。 wsadmin 工具要求用双引号将具有空格的参数引起来。对于转换用户: 对于 WebSphere Application Server Version 8.5, wsadmin.bat 中的 %javaoption% 和 wsadmin.sh 中的 $javaOption 位于 JAVA_EXE 参数的末尾。 这允许您覆盖 Java 系统属性,例如,CLIENTSOAP 和 CLIENTSAS 属性。 - -javaoption -Dwsadmin.script. libr aries=目录1; 目录2;...
- 指定使用程序包的 Jython 脚本的搜索路径。 dir1 和 dir2 表示包含 Jython 程序包的库的目录搜索路径。
- -lang
- 指定脚本文件、命令或交互式 shell 的语言。 可能的语言包括:Jacl 和 Jython。 这些语言选项将表示为
jacl和jython。此选项覆盖基于脚本文件名、概要文件脚本文件名或
com.ibm.ws.scripting.defaultLang属性的语言确定。 -lang 参数没有缺省值。 如果 -lang 自变量中指定的语言与 -f script_file_name 自变量所确定的语言不匹配,那么 wsadmin 工具将根据脚本文件名确定语言。如果您未指定 -lang 参数,但指定了 -f script_file_name 参数,那么 wsadmin 工具根据目标脚本文件名确定语言。 如果您未指定 -lang 参数和 -f 参数,那么当指定了 -profile profile_script_name 参数时,wsadmin 工具根据概要文件脚本文件名确定语言。 如果此命令行或属性不提供脚本语言,且 wsadmin 工具无法确定它,那么会生成错误消息。
- -p
- 指定属性文件。 -p 选项后面必须有文件名。列在 -p 之后的文件表示脚本编制进程读取的 Java 属性文件。 在装入您在命令行上指定的属性文件之前,将装入三个级别的缺省属性文件:
- 第一个级别是安装缺省值 wsadmin.properties,它在产品属性目录中。
- 第二个级别是用户缺省值 wsadmin.properties,它在您的主目录中。
- 第三个级别是环境变量要使用的属性文件WSADMIN_PROPERTIES引用。
该命令行上可以有多个 -p 选项。 这些选项按您提供它们的顺序调用。
还可以将com.ibm.ws.scripting.noechoParamNo定制属性与此选项配合使用。 使用此定制属性来指定您不希望在跟踪文件或标准输出中显示的脚本参数。 要启用此定制属性,请创建文本文件(例如noecho.prop)。 在此文本文件中,指定 wsadmin 命令中包含的您不希望在跟踪文件或标准输出中显示的敏感数据(例如密码)的位置。 该文本文件可以包含单个编号或由逗号分隔的多个参数编号。 例如,该文本文件可包含下列信息:
在 wsadmin 命令中引用此文本文件时,第三个和第五个参数值不会显示在跟踪文件或标准输出中。 要使用定制属性,运行 wsadmin 命令并通过 -p 选项传递该文本文件。 例如:com.ibm.ws.scripting.noechoParamNo=3,5使用 Jacl:wsadmin -f script_file script_arguments -p text_file使用 Jython:wsadmin -lang jython -f script_file script_arguments -p text_file例如:
wsadmin -f text.py server1 dbuser dbpassword user1 userpassword -p noecho.propwsadmin -f c:/text.py server1 dbuser dbpassword user1 userpassword -p c:/noecho.propdbpassword和userpassword是第三个和第五个参数,它们不会显示在跟踪文件或标准输出中。 - -profile
- 指定概要文件脚本。
概要文件脚本可在其他命令或脚本之前运行。 如果指定-c,然后概要文件脚本在调用此命令之前运行。 如果指定-f,然后概要文件脚本在运行脚本之前运行。 在交互方式下,您可以使用此概要文件脚本来执行您需要的任何标准初始化。 您可以在命令行上指定多个 -profile 选项,将按您指定这些选项的顺序调用这些选项。
- -profileName
- 指定 wsadmin 工具从中运行的概要文件。 如果以下某个原因适用则指定此选项:
- 从 app_server_root/bin 目录运行 wsadmin 工具,并且您没有缺省概要文件,或者要在缺省概要文件以外的概要文件中运行。
- 您当前在概要文件 bin 目录中,但要从不同的概要文件运行 wsadmin 工具。
- -?
- 提供语法帮助。
- -help
- 提供语法帮助。
- -conntype
- 指定要使用的连接类型。
此参数包含确定类型的字符串,例如,SOAP 和特定于此连接类型的选项。 可能的类型包括:SOAP,RMI,JSR160RMI,IPC和NONE。对于每种连接类型,可以指定有关连接的其他属性。
for theSOAP连接类型,您可以指定以下属性:表 1。 -conntype SOAP 连接类型属性描述。 使用此属性来指定 SOAP 连接类型。 属性 描述 [-主机 host_name] 指定连接的主机名。 缺省值为本地主机。 [-端口 端口号 ] 指定连接的端口号。 [-用户 userid] 指定要用于建立连接的用户标识。 [-密码 密码 ] 指定要用于建立连接的密码。 for theRMI连接类型,您可以指定以下属性:表 2。 -conntype RMI 连接类型属性描述。 使用此属性来指定 RMI 连接类型。 属性 描述 [-主机 host_name] 指定连接的主机名。 缺省值为本地主机。 [-端口 端口号 ] 指定连接的端口号。 [-用户 userid] 指定要用于建立连接的用户标识。 [-密码 密码 ] 指定要用于建立连接的密码。 不推荐使用的功能部件: 将 RMI 连接器转换为 JSR160RMI 连接器,因为不推荐使用对 RMI 连接器的支持。for theJSR160RMI连接类型,您可以指定以下属性:表 3。 -conntype JSR160RMI 连接类型属性描述。 使用此属性来指定 JSR160RMI 连接类型。 属性 描述 [-主机 host_name] 指定连接的主机名。 [-端口 端口号 ] 指定连接的端口号。 [-用户 userid] 指定要用于建立连接的用户标识。 [-密码 密码 ] 指定要用于建立连接的密码。 for theIPC连接类型,您可以指定以下属性:表 4。 -conntype IPC 连接类型属性描述。 使用此属性来指定 IPC 连接类型。 属性 描述 [-ipchost 主机名 ] 指定连接的主机名。 此属性会覆盖 wsadmin.properties 属性文件中对 com.ibm.ws.scripting.ipchost 属性指定的主机名。 [-端口 端口号 ] 指定连接的端口号。 [-用户 userid] 指定要用于建立连接的用户标识。 [-密码 密码 ] 指定要用于建立连接的密码。 使用-conntype NONE选项以本地方式运行。 结果是脚本编制客户机未连接到运行的服务器。 您可以在不需要运行应用程序服务器的情况下管理服务器配置、应用程序的安装和卸载。
不推荐使用的功能: 您最终应该从远程方法调用 (RMI) 连接器切换到 JSR160RMI 连接器,因为不推荐使用对 RMI 连接器的支持。 - -wsadmin_classpath
- 使用此选项使其他类可用于您的脚本编制进程。
将以下选项与类路径字符串配合使用:
/MyDir/Myjar.jar;/yourdir/yourdir.jar/home/MyDir/Myjar.jar;/yourdir/yourdir.jarc:/MyDir/Myjar.jar;d:/yourdir/yourdir.jar于是,这个类路径被添加到脚本编制进程的类装入器。
您还可以在 wsadmin 工具使用的属性文件中指定此选项。 属性是 com.ibm.ws.scripting.classpath。 如果您在命令行上指定 -wsadmin_classpath,那么此属性的值会覆盖在属性文件中指定的任何值。 不并置类路径属性和命令行选项。
- -host
- 指定 wsadmin 尝试连接至的主机名。 位于每个概要文件的属性目录中的缺省 wsadmin.properties 文件提供localhost作为主机属性的值 (如果未指定此选项)。
- -password
- 如果在服务器中启用了安全性,那么指定要由连接器用来连接到服务器的密码。注意: 在 UNIX 系统上,使用-password 选项可能会导致安全漏洞,因为密码信息显示在系统状态程序中。 例如,当您使用 ps 命令时,可能会暴露此信息,其他用户可以调用该命令来显示所有正在运行的进程。 如果考虑到安全漏洞问题,请不要使用此选项。 为了避免漏洞,可以执行下列操作:
- 在 soap.client.props 文件中为 SOAP 连接器、在 sas.client.props 文件中为 JSR160RMI 连接器或远程方法调用 (RMI) 连接器或者在 ipc.client.props 文件中为进程间通信 (IPC) 连接器指定用户和密码信息。 soap.client.props、sas.client.props 和 ipc.client.props 文件位于应用程序服务器概要文件的属性目录中。
- 等待 wsadmin 工具提示用户提供登录信息而非提供属性文件内的登录信息。
- -user or -username
- 如果在服务器中启用了安全性,那么指定要由连接器用来连接到服务器的用户名。
- -port
- 指定要由连接器使用的端口。 位于每个应用程序服务器概要文件的属性目录中的缺省 wsadmin.properties 文件提供端口属性中的值来连接到本地服务器。
- -jobid
- 指定作业标识字符串,以便您可以跟踪 wsadmin 工具的每次调用以进行审计。 作业标识字符串 (jobID=xxxx) 显示在 wsadmin 日志文件的开始处。
- -tracefile
- 指定日志文件的名称和日志输出的位置。 此选项覆盖 wsadmin.properties 文件中 com.ibm.ws.scripting.traceFile 属性。
- -appendtrace
- 确定跟踪结果是追加至现有日志文件的末尾还是覆盖现有日志文件。 指定true将跟踪附加到日志文件的末尾或指定false以覆盖每个 wsadmin 调用的日志文件。 缺省值为false.
以下示例指定作业标识选项、日志位置并将跟踪结果追加至日志文件。
wsadmin -jobid wsadmin_test_1 -tracefile /temp/wsadmin_test_1.log -appendtrace truewsadmin -jobid wsadmin_test_1 -tracefile c:/temp/wsadmin_test_1.log -appendtrace true
在以下语法示例中,mymachine 是 wsadmin.properties 文件中由 com.ibm.ws.scripting.port 属性指定的主机名:
SOAP 连接到本地主机
使用在以下选项中定义的选项:wsadmin.properties中。
SOAP 连接到 mymachine 主机
使用 Jacl,输入以下示例代码:wsadmin -f test1.jacl -profile setup.jacl -conntype SOAP
-port mymachine_soap_portnumber -host mymachine
使用 Jython:
wsadmin -lang jython -f test1.py -profile setup.py -conntype
SOAP -port mymachine_soap_portnumber -host mymachine
更改 Java 堆大小的初始值和最大值
使用 Jacl:
wsadmin -javaoption -Xms128m -javaoption -Xmx256m -f test.jacl
wsadmin -javaoption "-Xms128m -Xmx256m" -f test.jacl或wsadmin -javaoption -Xms128m -javaoption -Xmx256m -f test.jacl使用 Jython:
wsadmin -lang jython -javaoption -Xms128m -javaoption -Xmx256m -f test.py
wsadmin -lang jython -javaoption "-Xms128m -Xmx256m" -f test.py或wsadmin -lang jython -javaoption -Xms128m -javaoption -Xmx256m -f test.py更改系统属性值
使用 Jacl:wsadmin -javaoption "-Dcom.ibm.websphere.management.application.client.jspReloadEnabled=true"
使用 Jython:
wsadmin -lang jython -javaoption "-Dcom.ibm.websphere.management.application.client.jspReloadEnabled=true"
用双引号 ("") 将此 Java 系统属性引起来。
用双引号 ("") 将多个 Java 选项引起来;例如:
wsadmin -javaoption "-Dcom.ibm.websphere.management.application.client.jspReloadEnabled=true
-Dcom.ibm.websphere.management.application.enableDistribution=true"
具有安全性的 JSR160RMI 连接
使用 Jacl:wsadmin -conntype JSR160RMI -port JSR160rmiportnumber -user userid
-password password
使用 Jython:
wsadmin -lang jython -conntype JSR160RMI -port JSR160portnumber -user userid
-password password
连接的元素 rmiportnumber 在管理控制台中显示为 BOOTSTRAP_ADDRESS。
- 在 soap.client.props 文件中为 SOAP 连接器、在 sas.client.props 文件中为 JSR160RMI 连接器或远程方法调用 (RMI) 连接器或者在 ipc.client.props 文件中为进程间通信 (IPC) 连接器指定用户和密码信息。 soap.client.props、sas.client.props 和 ipc.client.props 文件位于应用程序服务器概要文件的属性目录中。
- 等待 wsadmin 工具提示用户提供登录信息而非提供属性文件内的登录信息。
具有安全性的 RMI 连接
使用 Jacl:wsadmin -conntype RMI -port rmiportnumber -user userid
-password password
使用 Jython:
wsadmin -lang jython -conntype RMI -port rmiportnumber -user userid
-password password
连接的元素 rmiportnumber 在管理控制台中显示为 BOOTSTRAP_ADDRESS。
- 在 soap.client.props 文件中为 SOAP 连接器、在 sas.client.props 文件中为 JSR160RMI 连接器或远程方法调用 (RMI) 连接器或者在 ipc.client.props 文件中为进程间通信 (IPC) 连接器指定用户和密码信息。 soap.client.props、sas.client.props 和 ipc.client.props 文件位于应用程序服务器概要文件的属性目录中。
- 等待 wsadmin 工具提示用户提供登录信息而非提供属性文件内的登录信息。
执行单个命令的本地操作方式
使用 Jacl:wsadmin -conntype NONE -c "$AdminApp uninstall app"
使用 Jython:
wsadmin -lang jython -conntype NONE -c "AdminApp.uninstall('app')"