IBM WebSphere wsadmin 工具概述 | AI生成和翻译
IBM WebSphere Application Server (WAS) 中的 wsadmin 概览
wsadmin 工具是用于管理 WebSphere Application Server 的命令行脚本接口。它允许您自动化执行任务,如管理服务器、部署应用程序、配置资源和监控运行时操作。脚本可以使用 Jython(基于 Python)或 JACL(基于 Tcl)编写,其中 Jython 因其可读性更强而更常用。
wsadmin.bat:在 Windows 系统上使用。wsadmin.sh:在 Unix/Linux/AIX 系统上使用。
这两个工具都位于 WebSphere 配置文件的 bin 目录中(例如,<WAS_HOME>/profiles/<ProfileName>/bin/)或基础安装目录(<WAS_HOME>/bin/)。建议从配置文件的 bin 目录运行它们,以确保正确的环境。
以交互方式启动 wsadmin
这将启动一个 shell,您可以直接在其中输入命令。
语法:
wsadmin[.bat|.sh] [选项]
基础示例(Windows):
cd C:\IBM\WebSphere\AppServer\profiles\AppSrv01\bin
wsadmin.bat -lang jython -user admin -password mypass
基础示例(Unix/Linux):
cd /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/bin
./wsadmin.sh -lang jython -user admin -password mypass
-lang jython:指定使用 Jython(使用-lang jacl表示 JACL)。-user和-password:如果启用了全局安全性,则需要提供(如果未启用,则可以省略)。- 如果省略,它将使用默认的 SOAP 连接器(端口 8879)或 RMI(端口 2809)连接到本地服务器。
进入 wsadmin 提示符(例如 wsadmin>)后,您可以使用脚本对象运行命令:
- AdminConfig:用于配置更改(例如,创建资源)。
- AdminControl:用于运行时操作(例如,启动/停止服务器)。
- AdminApp:用于应用程序部署/更新。
- AdminTask:用于高级任务(例如,同步节点)。
- Help:用于内置帮助(例如,
Help.help())。
Shell 中的示例命令:
- 列出所有服务器:
print AdminConfig.list('Server') - 启动服务器:
AdminControl.invoke(AdminControl.completeObjectName('type=ServerIndex,process=server1,*'), 'start') - 保存更改:
AdminConfig.save() - 退出:
quit
运行脚本文件
使用 -f 选项以非交互方式执行 Jython(.py 或 .jy)或 JACL(.jacl)脚本。
示例脚本(deployApp.py):
# 连接并部署应用程序
appName = 'MyApp'
AdminApp.install('/path/to/MyApp.ear', '[-appname ' + appName + ']')
AdminConfig.save()
print '应用程序 ' + appName + ' 部署成功。'
在 Windows 上运行:
wsadmin.bat -lang jython -f /path/to/deployApp.py -user admin -password mypass
在 Unix/Linux 上运行:
./wsadmin.sh -lang jython -f /path/to/deployApp.py -user admin -password mypass
运行单个命令
使用 -c 选项执行一次性命令(适用于批处理文件或自动化)。
示例(Windows 批处理文件片段):
@echo off
call "C:\IBM\WebSphere\AppServer\profiles\AppSrv01\bin\wsadmin.bat" -lang jython -c "print AdminConfig.list('Server')" -user admin -password mypass
示例(Unix shell 脚本片段):
#!/bin/bash
./wsadmin.sh -lang jython -c "print AdminConfig.list('Server')" -user admin -password mypass
关键选项
| 选项 | 描述 | 示例 |
|---|---|---|
-conntype |
连接器类型:SOAP(默认,端口 8879)或 RMI(端口 2809)。 |
-conntype RMI |
-host |
要连接的远程主机。 | -host myhost.example.com |
-port |
连接器端口。 | -port 8879 |
-tracefile |
将输出记录到文件。 | -tracefile wsadmin.log |
-profile |
在主脚本之前运行配置文件脚本。 | -profile init.py |
-c |
执行单个命令(非交互式)。 | -c "AdminConfig.save()" |
-f |
执行脚本文件。 | -f myscript.py |
-job |
运行作业管理器命令。 | -job deploy.xml |
提示与最佳实践
- 安全性:如果全局安全性关闭,请省略
-user和-password。对于安全设置,请使用加密凭据或密钥文件。 - 瘦客户端模式:对于无需完整 WAS 安装的远程管理,请使用
wsadmin -conntype NONE和瘦客户端 JAR(例如com.ibm.ws.admin.client_*.jar)。 - 性能:对于多个命令,请使用单个
-f脚本,而不是重复使用-c调用,以避免 JVM 开销。 - 错误处理:在配置更改后始终调用
AdminConfig.save()。在 Jython 中使用 try-except 以提高健壮性。 - 生成命令:在 WAS 管理控制台中执行操作,然后单击“查看上次操作的管理脚本命令”以获取等效的 wsadmin 命令。
- 版本说明:行为在 WAS 8.5+ 和 9.0+ 中保持一致,但请查阅 IBM 文档以获取特定于版本的详细信息(例如,新版本中的 Jython 2.7)。
有关更高级的用法,请探索 AdminTask 对象以获取简化命令,例如 AdminTask.importFile('path/to/file')。
参考资料
- wsadmin 脚本工具 - IBM 文档
- wsadmin 脚本入门 - IBM 文档
- WAS - wsadmin (Jython) 教程
- IBM WebSphere - wsadmin 入门
- WSADMIN 教程 – 第一部分