wsadmin 脚本编制工具
wsadmin 工具运行脚本。可以使用 wsadmin 工具来管理应用程序服务器以及配置、应用程序部署和服务器运行时操作。
可以在分布式平台上从 WebSphere® Application Server 运行 wsadmin 命令,并使用该分布式命令在
z/OS 操作系统上管理
WebSphere Application Server。
使用特定概要文件,以获取不同用户权限。
使用另一安装版本,以获取不同用户权限。
- 同一用户必须在一个概要文件中运行所有命令。
- 确保特定概要文件的所有用户都属于同一组。此外,请确保组的每个用户都对同一概要文件中由其他成员创建的文件具有读写权限。

- 必须在 wsadmin 交互式 shell 中的一行上输入 wsadmin 命令。即,连续输入该命令,而不要将其拆分成多行。不支持将较长的 wsadmin 命令拆分成多行。尝试在 wsadmin 交互式 shell 中运行拆分成多行的 wsadmin 命令将导致语法错误。
- 当分析字符串以避免任何用户错误时,使用 wsadmin 工具可除去任何前导空格和尾随空格,包括 \n、\r、\t、\f 和空格。例如,有人可能会意外碰到空格键或 Tab 键,从而将空格添加到命令字符串。此空格可能会导致命令或脚本故障。如果您需要在命令中包括空格,那么使用列表语法代替字符串语法或将包含空格的字符串括在 [ ] (方括号)中。
对 wsadmin 脚本客户机使用以下命令行调用语法:
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
wsadmin [-h(help)]
![[z/OS]](../images/ngzos.gif)
wsadmin.sh [-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 工具保存配置更改”,以了解更多信息。
- -Dwsadmin.script.libraries=dir1;dir2;...
- 指定使用程序包的 Jython 脚本的搜索路径。dir1 和 dir2 表示包含 Jython 程序包的库的目录搜索路径。
- -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.sh -javaoption java_option -javaoption java_option
要缩短命令的长度,请按以下方式输入命令:
wsadmin -javaoption "java_option java_option"
wsadmin.sh -javaoption "java_option java_option"
转换: 不能使用该命令的短格式 wsadmin -javaoption "java_option java_option"。必须使用较长的格式 wsadmin.sh -javaoption java_option -javaoption java_option。与先前版本不同,在 Windows 操作系统上,V8 产品不支持在一个 -javaoption 选项中同时指定多个 Java 选项。
在 Windows 操作系统上,如果选项包含等号 (=) 或分号 (;),那么必须用双引号 (") 将选项引起来;例如:
Windows 操作系统将命令行参数中的等号 (=) 或分号 (;) 视为空格。wsadmin 工具要求用双引号将具有空格的参数引起来。wsadmin -javaoption "-Da.b.c=3"
对于转换用户: 对于 WebSphere Application Server V8.5,wsadmin.bat 中的 %javaoption% 和 wsadmin.sh 中的 $javaOption 位于 JAVA_EXE 参数的末尾。这允许您覆盖 Java 系统属性,例如,CLIENTSOAP 和 CLIENTSAS 属性。trns
- -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.prop
wsadmin -f c:/text.py server1 dbuser dbpassword user1 userpassword -p c:/noecho.prop
wsadmin.sh -f text.py server1 dbuser dbpassword user1 userpassword -p noecho.prop
dbpassword 和 userpassword 是第三个和第五个参数,它们不会显示在跟踪文件或标准输出中。
- -profile
- 指定概要文件脚本。
概要文件脚本可在其他命令或脚本之前运行。如果您指定 -c,那么概要文件脚本在它调用此命令之前运行。如果您指定 -f,那么概要文件脚本在运行脚本之前运行。在交互方式下,您可以使用此概要文件脚本来执行您需要的任何标准初始化。您可以在命令行上指定多个 -profile 选项,将按您指定这些选项的顺序调用这些选项。
- -profileName
- 指定 wsadmin 工具从中运行的概要文件。如果以下某个原因适用则指定此选项:
- 您从 app_server_root/bin 目录运行 wsadmin 工具,并且您没有缺省概要文件,或者您要在非缺省概要文件中运行。
- 您当前在概要文件 bin 目录中,但要从不同的概要文件运行 wsadmin 工具。
要点: 在 z/OS 操作系统上运行的 WebSphere Application Server 不支持用户创建的概要文件;仅使用缺省概要文件。
- -?
- 提供语法帮助。
- -help
- 提供语法帮助。
- -conntype
- 指定要使用的连接类型。
此参数包含确定类型的字符串,例如,SOAP 和特定于此连接类型的选项。 可能的类型包含:SOAP、RMI、JSR160RMI、IPC 和 NONE。对于每个连接类型,可指定有关连接的其他属性。
对于 SOAP 连接类型,可以指定下列属性:表 1. -conntype SOAP 连接类型属性描述. 使用此属性来指定 SOAP 连接类型。 属性 描述 [-host host_name] 指定连接的主机名。缺省值为本地主机。 [-port port_number] 指定连接的端口号。 [-user userid] 指定要用于建立连接的用户标识。 [-password password] 指定要用于建立连接的密码。 对于 RMI 连接类型,可以指定下列属性:表 2. -conntype RMI 连接类型属性描述. 使用此属性来指定 RMI 连接类型。 属性 描述 [-host host_name] 指定连接的主机名。缺省值为本地主机。 [-port port_number] 指定连接的端口号。 [-user userid] 指定要用于建立连接的用户标识。 [-password password] 指定要用于建立连接的密码。 对于 JSR160RMI 连接类型,可以指定下列属性:表 3. -conntype JSR160RMI 连接类型属性描述. 使用此属性来指定 JSR160RMI 连接类型。 属性 描述 [-host host_name] 指定连接的主机名。 [-port port_number] 指定连接的端口号。 [-user userid] 指定要用于建立连接的用户标识。 [-password password] 指定要用于建立连接的密码。 对于 IPC 连接类型,可以指定下列属性:表 4. -conntype IPC 连接类型属性描述. 使用此属性来指定 IPC 连接类型。 属性 描述 [-ipchost host_name] 指定连接的主机名。此属性会覆盖 wsadmin.properties 属性文件中对 com.ibm.ws.scripting.ipchost 属性指定的主机名。 [-port port_number] 指定连接的端口号。 [-user userid] 指定要用于建立连接的用户标识。 [-password password] 指定要用于建立连接的密码。 使用 -conntype NONE 选项来以本地方式运行。结果是脚本编制客户机未连接到运行的服务器。 您可以在不需要运行应用程序服务器的情况下管理服务器配置、应用程序的安装和卸载。
不推荐使用的功能部件: 应该最终从远程方法调用 (RMI) 连接器切换至 JSR160RMI 连接器,因为不推荐使用对 RMI 连接器的支持。depfeat
- -wsadmin_classpath
- 使用此选项使其他类可用于您的脚本编制进程。
将以下选项与类路径字符串配合使用:
/MyDir/Myjar.jar;/yourdir/yourdir.jar
/home/MyDir/Myjar.jar;/yourdir/yourdir.jar
c:/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 或 -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 true
wsadmin -jobid wsadmin_test_1 -tracefile c:/temp/wsadmin_test_1.log -appendtrace true
wsadmin.sh -jobid wsadmin_test_1 -tracefile /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
wsadmin.sh -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
wsadmin.sh -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
同时或分别指定多个 Java 选项:
或wsadmin -javaoption "-Xms128m -Xmx256m" -f test.jacl
wsadmin -javaoption -Xms128m -javaoption -Xmx256m -f test.jacl
wsadmin.sh -javaoption "-Xms128m -Xmx256m" -f test.jacl
使用 Jython:
wsadmin -lang jython -javaoption -Xms128m -javaoption -Xmx256m -f test.py
同时或分别指定多个 Java 选项:
或wsadmin -lang jython -javaoption "-Xms128m -Xmx256m" -f test.py
wsadmin -lang jython -javaoption -Xms128m -javaoption -Xmx256m -f test.py
wsadmin.sh -lang jython -javaoption "-Xms128m -Xmx256m" -f test.py
- 更改系统属性值
- 使用 Jacl:
wsadmin -javaoption "-Dcom.ibm.websphere.management.application.client.jspReloadEnabled=true"
wsadmin.sh -javaoption "-Dcom.ibm.websphere.management.application.client.jspReloadEnabled=true"
使用 Jython:
wsadmin -lang jython -javaoption "-Dcom.ibm.websphere.management.application.client.jspReloadEnabled=true"
wsadmin.sh -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
wsadmin.sh -conntype JSR160RMI -port JSR160rmiportnumber -user userid -password password
使用 Jython:
wsadmin -lang jython -conntype JSR160RMI -port JSR160portnumber -user userid -password password
wsadmin.sh -lang jython -conntype JSR160 -port JSR160rmiportnumber -user userid -password password
连接的元素 rmiportnumber 在管理控制台中显示为 BOOTSTRAP_ADDRESS。
注意: 在 UNIX 系统上,使用 -password 选项可导致出现安全隐患,这是因为密码信息对于系统状态程序(例如 ps 命令)会变为可视,其他用户可以调用 ps 命令来显示所有运行的进程。如果考虑到安全隐患问题,请不要使用此选项。为了避免漏洞,可以执行下列操作:- 在 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
wsadmin.sh -conntype RMI -port rmiportnumber -user userid -password password
使用 Jython:
wsadmin -lang jython -conntype RMI -port rmiportnumber -user userid -password password
wsadmin.sh -lang jython -conntype RMI -port rmiportnumber -user userid -password password
连接的元素 rmiportnumber 在管理控制台中显示为 BOOTSTRAP_ADDRESS。
注意: 在 UNIX 系统上,使用 -password 选项可导致出现安全隐患,这是因为密码信息对于系统状态程序(例如 ps 命令)会变为可视,其他用户可以调用 ps 命令来显示所有运行的进程。如果考虑到安全隐患问题,请不要使用此选项。为了避免漏洞,可以执行下列操作:- 在 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"
或wsadmin.sh -conntype NONE -c "\$AdminApp uninstall app"
wsadmin.sh -conntype NONE -c '$AdminApp uninstall app'
使用 Jython:
wsadmin -lang jython -conntype NONE -c "AdminApp.uninstall('app')"
或wsadmin.sh -lang jython -conntype NONE -c "\AdminApp.uninstall('app')"
wsadmin.sh -lang jython -conntype NONE -c 'AdminApp.uninstall('app')'