weblogic管理4——命令行管理工具WLST

简介: WebLogic 脚本工具 (WLST) 是一个命令行脚本界面,系统管理员和操作员可以使用它来监视和管理 WebLogic Server 实例和域。WLST 脚本环境基于 Java 脚本解释器 Jython。

WebLogic 脚本工具 (WLST) 是一个命令行脚本界面,系统管理员和操作员可以使用它来监视和管理 WebLogic Server 实例和域。WLST 脚本环境基于 Java 脚本解释器 Jython。除 WebLogic 脚本功能外,还可以使用解释语言(包括本地变量、条件变量以及流控制语句)的常用功能。WebLogic Server 开发人员和管理员可以按照 Jython 语言语法扩展 WebLogic 脚本语言,以满足其环境需要。

要想使用这个工具,先要设置一个环境变量,这个变量所在的目录是:

<middleware-home>/wl_server*/server/bin

有个文件叫:

[apptest@test bin]$ ls
setWLSEnv.sh  startNodeManager.sh

设置的时候要这样运行:

[apptest@test bin]$ ../setWLSEnv.sh    (先一个点,再一个空格,在点一个点,再斜线加setWLSE....)

刚开始我比较逗比,直接./setWLSEnv.sh,结果运行报错:

[apptest@test bin]$ java weblogic.WLST
Exception in thread "Main Thread" java.lang.NoClassDefFoundError: weblogic/WLST
Caused by: java.lang.ClassNotFoundException: weblogic.WLST
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: weblogic.WLST.  Program will exit.

正确的设置了环境变量后,就可以运行了:

[apptest@test bin]$ java weblogic.WLST
Initializing WebLogic Scripting Tool (WLST) ...
Jython scans all the jar files it can find at first startup. Depending on the system, this process may take a few minutes to complete, and WLST may not return a prompt right away.
Welcome to WebLogic Server Administration Scripting Shell
Type help() for help on available commands
wls:/offline> 

调用 WLST

要调用 WLST,请执行下列操作:

  1.  如果要通过位于使用示范 SSL 密钥和证书的服务器上的 SSL 监听端口连接到 WebLogic Server 实例,请使用下列命令调用 WLST:

java -Dweblogic.security.SSL.ignoreHostnameVerification=true -Dweblogic.security.TrustKeyStore=DemoTrust weblogic.WLST

否则,在命令提示下输入下列命令之一:

  •  java weblogic.WLST
  •  java weblogic.WLST -loadProperties propertyFilename
注意: 可以使用 -loadProperties 选项加载某个文件中的属性值,并使这些值在 WLST 会话中可用。此选项的用法与 loadProperties 命令的用法类似。有关详细信息,请参阅 loadProperties

将出现欢迎消息和 WLST 提示:

wls:/(offline)>

 要使用 WLST 脱机版,请在 WLST 提示下输入命令、设置变量或运行脚本。

有关详细信息,请参阅使用 WLST 脱机版创建和配置 WebLogic 域

要使用 WLST 联机版,请启动 WebLogic Server 实例(请参阅启动和停止服务器),然后使用 connect 命令将 WLST 连接到服务器。

wls:/(offline)> connect('username','password','t3s://localhost:7002')
Connecting to weblogic server instance running at t3s://localhost:7002 as username weblogic ...
Successfully connected to Admin Server 'myserver' that belongs to domain 'mydomain'.

wls:/mydomain/serverConfig>

注意: BEA Systems 强烈建议通过 SSL 端口或管理端口将 WLST 连接到服务器。如果不这样做,将显示以下警告消息:
注意: 注意:使用了不安全协议连接到服务器。
要确保 on-the-wire 安全性,应该使用 SSL 端口或 Admin 端口。

有关 connect 命令的详细信息,请参阅 connect

输入 WLST 命令的要求

请按照下列规则输入 WLST 命令。另请参阅 WLST 命令和变量参考和 WLST 联机版和脱机版命令概要

  •  命令名和参数区分大小写。
  •  使用单引号或双引号将参数括起来。例如 'newServer' 或 "newServer"
  •  如果指定某个字符串中的反斜杠字符 (\),例如指定文件路径名时,应在带引号的字符串之前加 r 以指示 WLST 按此字符串的原始形式对其进行解释,并确保将反斜杠当作文字进行处理。此格式表示标准的 Jython 语法。例如:
readTemplate(r'c:\mytemplate.jar')
 使用 WLST 脱机版时,下列字符在对象名称中无效:句点 ( .)、正斜杠 ( /) 或反斜杠 ( \)。

如果需要对名称中包含正斜杠 (/) 的对象名称执行 cd 操作,请使用括号将配置对象名称括起来。例如:

cd('JMSQueue/(jms/REGISTRATION_MDB_QUEUE)')

 输入  help 命令可显示有关 WLST 命令的帮助信息。请参阅 获取帮助

确保访问安全数据

不在域的 XML 配置文档中存储 WebLogic Server 用户、安全组和安全角色的用户名和密码。域改用被称为“身份验证提供程序”的单独软件组件来存储、传输以及访问安全数据。身份验证提供程序可以使用不同类型的系统存储安全数据。WebLogic Server 安装的身份验证提供程序使用嵌入式 LDAP 服务器。

当您使用 WLST 脱机版创建域模板时,WLST 将身份验证提供程序的数据存储器与域文档的其余部分一起打包。如果使用域模板创建一个域,新域具有域模板上身份验证提供程序数据存储器的完全拷贝。

不能使用 WLST 脱机版修改身份验证提供程序数据存储器中的数据。

但是可以使用 WLST 联机版与身份验证提供程序进行交互以及添加、删除或修改用户、组和角色。有关详细信息,请参阅 安全管理

运行脚本

WLST 集成了两个支持运行脚本的 Jython 功能:

  •  java weblogic.WLST filePath.py

此命令可通过使用单一命令调用 WLST 和执行脚本文件。请参阅调用 WLST 和运行脚本

  execfile( filePath .py)

此命令在调用 WLST 后执行脚本文件。请参阅从 WLST 运行脚本

要运行本指南中的脚本示例,请复制并保存文件扩展名为 .py 的文本文件(即 filename.py)中的命令。以下列出了如何使用包含命令的文本文件来运行脚本。从头创建 script.py 文件时,可以将示例脚本用作模板。有关详细信息,请参阅 WLST 示例脚本

如果脚本可以将 WLST 连接到正在运行的服务器实例,则请在运行脚本前启动 WebLogic Server。

调用 WLST 和运行脚本

下列命令可以调用 WLST、执行指定的脚本和退出 WLST 脚本外壳。要禁止退出 WLST,请使用 -i 标志。

java weblogic.WLST filePath.py
java weblogic.WLST -i 
filePath.py

注意: 如果从中调用 WLST 的目录或 user.home(由 JVM 决定的操作系统用户帐户的主目录)目录中已存在名为 wlstProfile.py 的 WLST 脚本,则一旦调用 WLST,就会自动执行这些命令。在这种情况下,不需要在命令行上指定 WLST 脚本文件的名称。

例如:

c:\>java weblogic.WLST c:/temp/example.py
Initializing WebLogic Scripting Tool (WLST) ...
starting the script ...
...

从 WLST 运行脚本

调用 WLST 后,使用以下命令执行指定的脚本。

execfile(filePath)

例如:

c:\>java weblogic.WLST
Initializing WebLogic Scripting Tool (WLST) ...
...
...
wls:/(offline)>
execfile('c:/temp/example.py')
starting the script ...
...

将 WLST 导入为 Jython 模块

高级用户可以从 WebLogic Server 中将 WLST 导入为 Jython 模块。导入 WLST 后,可以将其与其他 Jython 模块一起使用,使用 Jython 语法直接调用 Jython 命令。

主要步骤包括将 WLST 定义和方法声明转换为 .py 文件、将 WLST 文件导入到 Jython 模块中,以及从导入的文件中引用 WLST。

要将 WLST 导入为 Jython 模块,请执行下列操作:

  1.  调用 WLST。

c:\>java weblogic.WLST
wls:/(offline)>

 使用  writeIniFile 命令将 WLST 定义和方法声明转换为  .py 文件。

wls:/(offline)> writeIniFile("wl.py")
The Ini file is successfully written to wl.py
wls:/(offline)>

 通过输入以下命令打开新的命令外壳,并直接调用 Jython:

c:\>java org.python.util.jython

Jython 包管理器将处理类路径中的 JAR 文件。将出现以下 Jython 提示:

>>>

 使用 Jython  import 命令将 WLST 模块导入到 Jython 模块中。

>>>import wl

 现在,可以在此模块中使用 WLST 方法。例如将 WLST 连接到服务器实例:

wl.connect('username','password')
....

注意: 将 WLST 用作 Jython 模块时,在包含 block 参数的所有 WLST 命令中,block 始终设置为 true,以指定在完成命令之前,WLST 将阻塞用户交互。请参阅 WLST 命令和变量参考

退出 WLST

要退出 WLST,请执行下列操作:

wls:/mydomain/serverConfig> exit()
Exiting WebLogic Scripting Tool ...
c:\>

从 Ant 中运行 WLST

wlst Ant 任务在随 WebLogic Server 一起提供的 Ant 版本中是预定义的,使用此任务可以从 Ant 生成文件中运行 WLST 脚本。

注意: 如果要利用您自己的 Ant 安装使用该任务,请在生成文件中添加以下任务定义:
注意: <taskdef name="wlst" classname="weblogic.ant.taskdefs.management.WLSTTask" />

要从 Ant 脚本运行 WLST,请执行下列操作:

  1.  在命令外壳中设置环境。
  •  在 Windows NT 上,执行位于 WL_HOME\server\bin 目录下的 setWLSEnv.cmd 命令,其中 WL_HOME 指 WebLogic Server 安装的顶级目录。
  •  在 UNIX 上,执行位于 WL_HOME/server/bin 目录下的 setWLSEnv.sh 命令,其中 WL_HOME 为 WebLogic Server 安装的顶级目录。
 将调用添加到  wlst Ant 任务,以执行 WLST 命令。例如:
<target name="runwlst"> 
   <wlst fileName="./myscript.py" executeScriptBeforeFile="true"
    debug="false" failOnError="false"> 
     <script>
        connect('weblogic','weblogic','t3://localhost:7001') 
     </script>
   </wlst>
</target>

通过 wlst Ant 任务,可以使用 fileName 特性指定 WLST 命令,或者将 WLST 脚本命令嵌入到生成文件内的 <script> 标记中。有关 Ant 任务命令语法的详细信息,请参阅 wlst Ant 任务语法

 可通过在临时目录中键入  ant,也可以通过将命令传递到目标参数执行 Ant 任务或  build.xml 文件中指定的任务:
prompt> ant runwlst
注意: 使用 ant -verbose 获取来自 wlst 任务的详细消息。

wlst Ant 任务语法

wlst Ant 任务的语法如下:

<wlst propertiesFile="propsFile" fileName="fileName" arguments="arglist" failOnError="value" executeScriptBeforeFile="value" debug="value">
<script>
   wlst-commands
</script>

可以使用 fileName 特性在某个 WLST 脚本 (.py) 文件中指定 WLST 命令,并指定此文件,或将 WLST 脚本命令嵌入到生成文件内,并用 <script> 标记将这些命令括起来。

下表定义了可指定为 wlst Ant 任务一部分的 Ant 任务特性。

参考文档:http://edocs.jiaozhu.org/wls/docs92/config_scripting/using_WLST.html

http://www.itpub.net/thread-1721059-1-1.html













相关文章
|
安全 应用服务中间件
Weblogic 漏洞批量扫描工具
Weblogic 漏洞批量扫描工具
|
Java 应用服务中间件 网络安全
|
应用服务中间件 Python 数据安全/隐私保护
WebLogic口令猜解工具【Python脚本】
WebLogic 默认端口7001 可以通过如下链接访问控制台 http://10.9.1.1:7001/console/login/LoginForm.jsp 写了一个简单的猜解脚本,半成品,做个记录。
1074 0
|
Java 应用服务中间件 数据安全/隐私保护
Weblogic命令行更换控制台密码
Weblogic命令行更换控制台密码   1、 在对应域的管理server下的security目录下找到boot.properties文件,其内容形式如:          password={AES}mslf4i31COfxJt45PZxZESyDDq6VSQ8KKpn+9+M...
1039 0
|
新零售 Oracle Java
WLS_Oracle Weblogic管理概述(概念)
2012-09-01 Created By BaoXinjian  1. 摘要 WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。
1107 0
|
关系型数据库 应用服务中间件 Oracle
WLS_Oracle Weblogic MSI和创建被管理服务器(概念)
2014-01-01 Created By BaoXinjianERP技术讨论群: 288307890 技术交流,技术讨论,欢迎加入 Technology Blog Created By Oracle ERP - 鲍新建
789 0