使用 wsadmin 脚本编制启动 wsadmin 脚本编制客户机

可以使用 wsadmin 工具来配置和管理应用程序服务器、应用程序部署和服务器运行时操作。

有关此任务

wsadmin 工具支持通过运行脚本来自动化环境的配置任务。 但是,wsadmin 工具的使用存在某些限制,其中包括:
  • wsadmin 工具仅支持 Jython 和 Jacl 脚本语言。

    版本6.1释放WebSphere Application Server表示与 wsadmin 工具关联的 Jacl 语法的弃用过程的开始。 wsadmin 工具的 Jacl 语法继续保留在产品中且至少受两个主要产品发行版支持。 此后,可能会从 wsadmin 工具中移除 Jacl 语言支持。 wsadmin 工具的 Jython 语法是 WebSphere Application Server 管理自动化的策略方向。 应用程序服务器提供了显著增强的管理功能和工具(支持产品自动化和 Jython 语法的使用)。

    避免麻烦:并非所有WebSphere® Application Server组件类都打包在同一个.jar文件。 如果您要使用 wsadmin 工具来运行 Jython 脚本,那么在 wsadmin 命令上包括 jython.package.path 系统属性以确保在启动 wsadmin 期间将所有需要的 JAR 文件设置为 jython 程序包路径。
    ./wsadmin.sh -lang jython -javaoption
    "-Djython.package.path=/usr/WebSphere70/AppServer/plugins/com.ibm.ws.wlm.jar"   

    如果你想调用WebSphere Application Server不同功能WebSphere Application Server打包在.jar除文件之外的其他文件runtime.jaradmin.jar,您可以在指定的路径中包含多个 jar 文件jython.package.path系统属性,并用分号(;)分隔。

    ./wsadmin.sh -lang jython -javaoption
    "-Djython.package.path=/usr/WebSphere70/AppServer/plugins/com.ibm.ws.wlm.jar;com.ibm.ws.wccm.jar"  

    如果你想调用WebSphere Application Server使用 ws_ant 在 jython 脚本中创建函数,您可以创建一个.prop文本文件,并在该文件中包含以下行:

    jython.package.path=/usr/WebSphere70/AppServer/plugins/com.ibm.ws.wlm.jar  

    然后在 ant 脚本 xml 文件中包括属性文件。 例如:

    <taskdef name="wsadmin" classname="com.ibm.websphere.ant.tasks.WsAdmin"/>
    <target name="main" >  
        <wsadmin conntype="NONE" lang="jython" failonerror="true" properties="/tmp/jython.prop"
                 script="/home/fsgapp/MSTWasBuild/project/scripts/socr/socr/jython/configure.py"> 
        </wsadmin>
    </target>  
  • wsadmin 工具对运行相同版本或更高版本产品的应用程序服务器的安装、配置、部署和运行时操作进行管理。 wsadmin 工具无法连接至其运行的产品版本低于 wsadmin 工具版本的应用程序服务器。 例如,V7.x wsadmin 客户机无法连接到 V6.x 应用程序服务器。 但是,V6.x wsadmin 客户机能够连接到 V7.x 应用程序服务器。 因为在每个产品发行版中对 wsadmin 工具添加了新功能,所以存在此限制。 无法在运行先前产品版本的应用程序服务器上使用新的命令功能。

[AIX Solaris HP-UX Linux Windows]wsadmin 启动程序支持多个脚本对象,包括 AdminConfig、AdminControl、AdminApp、AdminTask 和 Help 对象。 脚本使用这些对象来进行应用程序管理、配置、操作控制和与运行于产品进程中的 MBean 进行通信。 您必须先启动 wsadmin 脚本编制客户机,才能使用脚本编制执行任何其他任务。

避免麻烦:应用程序管理设计不允许您安装高于客户端级别的 EE 规范级别 EAR 或模块。 在 wsadmin 中运行的客户机代码可读取 EAR 文件,并使用该内容的自省生成适用于该应用程序的部署配置选项。 客户端代码无法处理高于客户机支持的规范级别。

过程

  1. 找到启动 wsadmin 脚本编制客户机的命令。
    [AIX Solaris HP-UX Linux Windows]选择下列其中一个选项:
    • 请使用特定概要文件来调用脚本进程。 用于调用脚本进程的 QShell 命令在 profile_root/bin 目录中。 QShell 脚本的名称是 wsadmin。 如果使用此选项,那么不必指定 -profileName profile_name 参数。
    • 请使用缺省概要文件来调用脚本进程。 wsadmin Qshell 命令在 app_server_root/bin 目录中。 如果您不想连接到缺省概要文件,那么必须指定 -profileName profile_name 参数来指示要使用的概要文件。
  2. 查看 wsadmin 工具的其他连接选项。
    您可以用几种不同的方法启动 wsadmin 脚本编制客户机。 要指定运行脚本的方法,执行下列 wsadmin 工具选项中的某个:
    交互地运行脚本命令

    使用除 -f-c 之外的选项运行 wsadmin 或不使用选项运行 wsadmin。 wsadmin 工具通过 wsadmin 提示符来启动和显示交互式 shell。 在 wsadmin 提示下,输入任何 Jacl 或 Jython 命令。 您也可以使用 AdminControl、AdminApp、AdminConfig、AdminTask 或 Help wsadmin 对象调用命令。 要脱离交互式脚本会话,使用 quitexit 命令。 这些命令不带任何参数。

    以下示例用于启动 wsadmin 工具:
    • 使用 Jython 启动 wsadmin 工具:
      [Linux][AIX][HP-UX][Solaris]
      wsadmin.sh -lang jython
      [Windows]
      wsadmin.bat -lang jython
    • 在启用安全性时使用 Jython 启动 wsadmin 工具:
      [Linux][AIX][HP-UX][Solaris]
      wsadmin.sh -lang jython -user user_name -password password
      [Windows]
      wsadmin.bat -lang jython -user user_name -password password
    • 不带选项使用 Jacl 启动 wsadmin 工具:
      [Linux][AIX][HP-UX][Solaris]
      wsadmin.sh -lang jacl
      [Windows]
      wsadmin.bat -lang jacl
    作为各自命令运行脚本命令

    使用 -c 选项运行 wsadmin 工具。

    [Linux][AIX][HP-UX][Solaris]如果您调用包含美元符号字符 ($ )使用 wsadmin -c选项,命令行尝试替换变量。 为了避免此问题,请使用反斜杠字符 (\ )。 例如:wsadmin -c "\$AdminApp install ..."

    以下示例分别运行命令:
    • 使用 Jython 运行 AdminApp 对象的 list 命令:
      [Linux][AIX][HP-UX][Solaris]
      wsadmin.sh -lang jython -c 'AdminApp.list()'
      [Windows]
      wsadmin -lang jython -c "AdminApp.list()"
    • 使用 Jacl 运行 AdminApp 对象的 list 命令:
      [Linux][AIX][HP-UX][Solaris]
      wsadmin.sh -c "\$AdminApp list"
      wsadmin.sh -c '$AdminApp list'
      [Windows]
      wsadmin -c "$AdminApp list"
    按脚本运行脚本命令

    使用 -f 选项运行 wsadmin 工具,并将您要运行的命令放入文件中。

    以下示例运行脚本:
    • 使用 Jython 运行 a1.py 脚本:
      [Linux][AIX][HP-UX][Solaris]
      wsadmin.sh -lang jython -f  al.py
      [Windows]
      wsadmin -lang jython -f  al.py

      其中 a1.py 文件包含下列命令:

      apps = AdminApp.list()
      print apps
    在概要文件脚本中运行脚本命令

    概要文件脚本是一个脚本,它在主脚本之前或在进入交互方式之前运行。 您可以使用概要文件脚本来设置为用户或安装定制的脚本环境。

    默认情况下,可能会为以下配置文件脚本文件配置com.ibm.ws.scripting.profiles配置文件属性应用程序服务器根目录/properties/wsadmin.properties文件:
    • 应用程序服务器根目录/bin/securityProcs.jacl
    • 应用程序服务器根目录/bin/LTPA_LDAPSecurityProcs.jacl

    缺省情况下,这些文件的格式为 ASCII。 如果使用 profile.encoding 选项来运行 EBCDIC 编码的概要文件脚本文件,请将这些文件的编码更改为 EBCDIC。

    要在概要文件脚本中运行脚本编制命令,使用 -profile 选项运行 wsadmin 工具,并将要运行的命令包括在概要文件脚本中。

    要定制脚本环境,请指定一个或多个要运行的概要文件脚本。

    创建概要文件时不要在节点名中使用圆括号。

    以下示例运行概要文件脚本:
    • 使用 Jython 运行 a1prof.py 脚本:
      [Linux][AIX][HP-UX][Solaris]
      wsadmin.sh -lang jython -profile alprof.py
      [Windows]
      wsadmin.bat -lang jython -profile alprof.py

      其中 a1prof.py 文件包含下列命令:

      apps = AdminApp.list()
      print "Applications currently installed:\n " + apps
    • 使用 Jacl 运行 a1prof.py 脚本:
      [Linux][AIX][HP-UX][Solaris]
      wsadmin.sh -profile alprof.jacl
      [Windows]
      wsadmin.bat -profile alprof.jacl

      其中 a1prof.py 文件包含下列命令:

      set apps [$AdminApp list]
      puts "Applications currently installed:\n$apps"

结果

当向服务器进程建立连接时,wsadmin 会返回下列输出:

Jython 示例输出:
Applications currently installed:
 DefaultApplication
ivtApp
query
WASX70311: For help, enter: "print Help.help()"
wsadmin>
Jacl 示例输出:
Applications currently installed:
 DefaultApplication
ivtApp
query
WASX70311: For help, enter: "$Help help"
wsadmin>