wsadmin是IBM WebSphere提供的命令行管理工具,通过管理API接口与服务器交互。在生产自动运维中需要通过非交互式直接执行的命令来完成自动的应用部署和更新。通过研究,发现提供的接口还是蛮丰富的,也确实可以不需要复杂的图形界面手工交互才能部署应用,大大简化了运行过程,提供了运维的效率。
wsadmin命令工具
wsadmin 工具的选项不区分大小写。请不要传递空字符串来代替命令选项。如果指定空字符串作为命令选项,那么 wsadmin 工具会显示一般帮助信息。对 wsadmin 脚本客户机使用以下命令行调用语法:
wsadmin [-h(help)][-?] [-c ][-p ][-profile ][-profileName ][-f ][-javaoption java_option][-lang language] [-wsadmin_classpath classpath][-conntype SOAP [-hosthost_name] [-portport_number] [-useruser ID] [-passwordpassword][-conntype JSR160RMI [-hosthost_name] [-portport_number] [-useruser ID] [-passwordpassword][-conntype RMI [-hosthost_name] [-portport_number] [-useruser ID] [-passwordpassword][-conntype IPC [-ipchosthost_name] [-portport_number] [-useruser ID] [-passwordpassword] [-jobidstring][-tracefiletrace_file][-appendtracetrue/false][script parameters]
IBM官方中文文档:wsadmin命令行详细用法
以下例子中调用API采用jython脚本格式,因为jython脚本比jacl脚本的可读性更好。
install:
wsadmin -lang jython -c "AdminApp.install('e:/was_workspace/test/pbw-ear.ear','[-contextroot hello -appname hello -usedefaultbindings]')" -conntype SOAP -host localhost -port 8880 -user admin -password admin
export:
wsadmin-lang jython -c "AdminApp.export('hello', 'e:/was_workspace/test/hello.ear')" -conntype SOAP -host localhost -port 8880 -user admin -password admin
stop:
wsadmin-lang jython -c "AdminControl.invoke(AdminControl.queryNames('type=ApplicationManager,node=coresvr1Node01,*'),'stopApplication','hello')" -conntype SOAP -host localhost -port 8880 -user admin -password admin
update:
wsadmin -lang jython -c "AdminApp.update('hello', 'app', '[-operation update -contents e:/was_workspace/test/pbw-ear.ear -usedefaultbindings -nodeployejb]')" -conntype SOAP -host localhost -port 8880 -user admin -password admin
start:
wsadmin-lang jython -c "AdminControl.invoke(AdminControl.queryNames('type=ApplicationManager,node=coresvr1Node01,*'),'startApplication','hello')" -conntype SOAP -host localhost -port 8880 -user admin -password admin
另,必须要查看IBM的手册,网上很多帖子太简单,实际写的时候没法参考。
IBM官方中文文档:对应用程序服务环境进行脚本编制 (wsadmin)