fteCreateMonitor(新建资源监视器)

fteCreateMonitor 命令从命令行创建并启动新的资源监视器。 您可以使用 IBM® WebSphere® MQ Managed File Transfer 来监视资源 (例如目录内容) ,以便在满足触发条件时启动指定的任务 (例如文件传输)。

用途

使用 fteCreateMonitor 命令通过 WebSphere MQ Managed File Transfer 代理创建并启动新的资源监视器。 例如,您可以按以下方式使用资源监视器:外部应用程序将一个或多个文件放在已知目录中,在处理完成时,外部应用程序将触发器文件放在受监视的目录中。 然后,将检测到该触发器文件,并启动已定义的文件传输,从而将已知目录中的文件复制到目标代理。

您可以使用 -ox-ix 参数,分别将资源监视器配置导出到 XML 文件,以及从 XML 文件导入资源监视器配置。 如果使用 fteCreateMonitor 命令导入此文件,将使用与 fteCreateMonitor 命令中提供的资源监视器相同的参数来创建新的资源监视器以导出到 XML 文件。 您还可以使用 fteListMonitors 命令将资源监视器配置导出到 XML 文件。 此外,您可以使用 -f -c 参数动态覆盖监视器配置。

fteCreateMonitor 命令在协议网桥代理上不受支持。

Syntax

fteCreateMonitor

Read syntax diagramSkip visual syntax diagramfteCreateMonitor -ix  monitor_definition_file  -ox  monitor_definition_file  -ma  monitoring_agent_name  -mn  monitor_name  -mm  monitoring_agent_qmgr_name   -f   -c  -md  directory_path  -mq  queue_name  -mt  task_definition_file_name  -rl  number_of_recursion_levels  -pi  interval_period  -pu  units -tr  condition , pattern  -x  exclude_pattern  -jn  job name  -pt  pattern_type  -bs  matches_per_task  -dv  default_variables  -p  configuration_options 

参数

-ix (xml_filename)
可选。 从 XML 文件导入资源监视器配置。

-ox (xml_filename)
可选。 此参数必须与 -ma 和 -mn 参数一起指定。 将资源监视器配置导出到 XML 文件。

-ma (monitoring_agent_name)
可选。 要执行资源监视的代理的名称。 此监视代理必须是您要触发的监视器任务的源代理。

-mn (monitor_name)
可选。 您分配给此监视器的名称。 监视器名称对于监视代理必须是唯一的。 但是,您可以删除一个监视器,然后创建同名的监视器。

资源监视器名称的最大长度为 256 个字符。 资源监视器名称不区分大小写。 以小写或大小写混合方式输入的资源监视器名称将转换为大写。 资源监视器名称不得包含星号 (*) ,百分号 (%) 或问号 (?) 字符。

-mm (monitoring_agent_qmgr_name)
可选。 监视代理连接到的队列管理器的名称。 由于监视代理和源代理必须相同,因此该队列管理器也是源代理队列管理器。

-f
可选。 使用该参数可覆盖资源监视器配置。 例如,如果您选定的资源监视器名称在资源监视代理上已经存在,并且您希望将其更新,而不是将其删除并重新创建同名的监视器。 使用此参数将使代理重新启动监视进程。
-c
可选。 此参数清除更新的资源监视器的历史记录,这使资源监视器重新检查触发条件。 此参数只能与 -f 参数一起使用。

-md (directory_path)
可选。 您要监视的目录路径的绝对名称。 除非您要使用 -ix-ox 参数,否则必须指定 -md-mq 参数之一。

-mq (queue_name)
可选。 要监视的队列的名称。 此队列必须位于监视代理程序队列管理器上。 除非您要使用 -ix-ox 参数,否则必须指定 -md-mq 参数之一。

-mt (task_definition_file_name)
可选。 XML 文档的名称,该文档包含您要在满足触发条件时执行的任务定义。 传输定义 XML 文档的路径必须在您从其运行 fteCreateMonitor 命令的本地文件系统上。 除非您要使用 -ix-ox 参数,否则这将是必需参数。

您可以使用 fteCreateTransfer 命令 上的 -gt 参数来生成包含文件传输请求的模板 XML 文档。 监视器将传输模板用作其任务定义。

-rl (number_of_recursion_levels)
可选。 根监视目录的监视递归级别,即,要向下深入的子目录级别数。 例如,在类似以下示例的目录结构中(将 C:\wmqfte\monitor 设置为根监视目录):
C:\wmqfte\monitor
C:\wmqfte\monitor\reports
C:\wmqfte\monitor\reports\2009
C:\wmqfte\monitor\reports\2009\April
如果指定 -rl 2,那么 WebSphere MQ Managed File Transfer 仅搜索 C:\wmqfte\monitor\reports\2009 目录及其同代目录。 将忽略 C:\wmqfte\monitor\reports\2009\April 目录。 缺省情况下,递归设置为无。

-pi (interval_period)
可选。 一个目录的每次监视之间的时间间隔。 轮询时间间隔必须是正整数值。 -pi 的缺省值是 1

-pu (个单元)
可选。 监视器轮询时间间隔的时间单位。 如果指定 -pu 参数,还必须指定 -pi 参数。 -pu 的缺省值为 minutes。 指定以下某个选项:
分钟
小时
days

-tr
可选。 指定为执行定义的任务所必须满足的触发条件。 如果不满足该条件,那么根据源代理,监视器任务(例如,文件传输)将不会启动。 一个触发条件包含两个可选部分:条件和模式(以逗号分隔)。 指定以下某种格式:
  • condition,pattern
    
    其中条件是以下某个值:
    match
    对于满足的每个触发器,将执行所定义的任务。 match 是缺省值。

    例如,如果匹配项是 *.go 且存在文件 LONDON.goMANCHESTER.go,那么将为 LONDON.go 执行该任务,并为 MANCHESTER.go 执行另一任务。

    如果存在来自先前轮询的同一触发器文件(即,该文件尚未修改),那么此文件具有未满足的触发条件。 即,匹配触发器文件必须是新的,并且自上次轮询以来必须已修改,才能执行定义的任务。

    noMatch
    受监视的目录中没有文件与该模式匹配。 即,如果受监视的目录中的任何文件都不存在,即表示满足该条件。 如果创建监视器时没有文件匹配触发条件,那么该监视器将立即启动,但是只有在找到文件匹配项并随即将其移除之后才会再次启动。
    noSize更改 =n
    目录中至少一个文件与该模式匹配,并且其文件大小在 n 个轮询时间间隔内没有更改。 n 的值是正整数。
    fileSize> =大小
    目录中至少一个文件与该模式匹配,并且其文件大小至少大于或等于大小。 值大小 是一个整数与可选大小单位(B、KB、MB 或 GB)的组合。 例如,fileSize">"=10KB。 如果未指定大小单位,使用的缺省大小是字节。 在所有操作系统上,您在命令行上指定 filesize 选项时必须将大于号 (>) 括在双引号内,如该示例中所示。

    该模式是通配符或 Java 正则表达式格式的文件模式匹配序列。 模式的缺省值是 *(即匹配任何文件),缺省格式是通配符格式。 使用 -pt 可指定模式的格式。

    例如,如果受监视的目录中存在后缀为 .go 的文件,就满足了以下触发条件。
    -tr match,*.go 
    如果受监视的目录中不存在后缀为 .stop 的文件,就满足了以下触发条件。
    -tr noMatch,*.stop 

    仅当还指定了 -md 参数时,才能指定 condition,pattern

  • condition
    
    其中条件是以下某个值:
    queueNotEmpty
    受监视的队列不为空。 即,如果受监视队列上存在 任何 IBM WebSphere MQ 消息,那么满足该条件。 将针对队列上的所有消息运行单个任务。
    completeGroups
    受监视的队列上存在完整组。 即,如果受监视队列上的 WebSphere MQ 消息组中的 任何 已完成,那么满足该条件。 将针对队列上的每个完整组分别运行一个任务。

    如果不在组内的单条消息放在队列上,那么会将其视为完整组,并且将针对此单条消息运行一个任务。

    仅当还指定了 -mq 参数时,才能指定 condition

对于您创建的每个监视器,只能指定一次 -tr 参数。

-x (exclude_pattern)
可选。 指定从触发器模式匹配中排除的文件。 触发器模式由 -tr 参数指定。

该模式是通配符或 Java 正则表达式格式的文件模式匹配序列。 缺省格式是通配符格式。 使用 -pt 参数来指定模式的格式。

-jn (作业名)
可选。 指定作业名引用,即针对请求的用户定义的标识。

-pt (pattern_type)
可选。 由 -tr-x 参数使用的模式的类型。 有效值包括:
wildcard
模式将作为通配符模式进行求值。 星号 (*) 与零个或更多字符匹配,而问号 (?) 只与一个字符匹配。 这是缺省值。
regex
这些模式将作为 Java 正则表达式进行求值。 有关更多信息,请参阅 WebSphere MQ Managed File Transfer
-bs (matches_per_task)
可选。 要包含在单个任务中的触发器匹配项的最大数量。 例如,如果为 matches_per_task 指定了值 5,而在单个轮询时间间隔内出现九个触发器匹配项,那么将执行两个任务。 第一个任务对应于触发器 1-5(含 1 和 5),第二个任务对应于触发器 6-9。 matches_per_task 的缺省值为 1。

仅当提供给 -mt 参数的任务定义 XML 为 managedTransfer 时,才支持 -bs 参数。 -bs 参数不支持 managedCall。

-dv (default_variables)
可选。 缺省变量的逗号分隔列表,监视队列时可以将这些变量用于变量替换。 值的格式为键/值对。 例如:
-dv size=medium,color=blue
有关变量替换的更多信息,请参阅 使用变量替换定制任务。 仅当同时指定了 -mq 参数时,才能指定 -dv 参数。
-? or -h
可选。 显示命令语法。
-p(配置选项)
可选。 该参数确定用于取消传输的配置选项集。 按照约定,请使用非缺省协调队列管理器的名称作为该参数的输入。 然后,命令使用与此非缺省协调队列管理器相关联的属性文件集。

如果未指定该参数,那么将使用基于缺省协调队列管理器的配置选项集。

示例

在此示例中,将使用监视代理程序 MYAGENT 创建称为 MYMONITOR 的新资源监视器。 在满足触发条件(即,在目录 C:\wmqfte\monitors 中存在大于 5MB 的文件)的情况下,将启动文件 C:\templates\transfer_reports.xml 中定义的文件传输。 MYAGENT 也是 C:\templates\transfer_reports.xml 中定义的文件传输的源代理:
fteCreateMonitor -ma MYAGENT -md C:\wmqfte\monitors -mn MYMONITOR -mt C:\templates\transfer_reports.xml
 -tr fileSize">"=5MB,*.go 

在本例中,将创建使用代理 AGENT1 且名为 MONITOR1 的资源监视器,以传输大于 5 MB 的文件;并将该资源监视器导出到 XML 文件 monitor.xml
fteCreateMonitor -ox monitor.xml -ma AGENT1 -mn MONITOR1 -mt task.xml -tr "fileSize>=5MB,*.zip"
然后,将导入该 XML 文件并将其更改为排除大于 10MB 的任何文件。
fteCreateMonitor -ix monitor.xml -x "fileSize>=10MB,*.zip" -f

在本例中,将创建使用代理 MYAGENT 且名为 MYMONITOR 的新资源监视器。
fteCreateMonitor -ma MYAGENT -md c:\wmqfte -mn MYMONITOR -mt c:\templates\transfer_reports.xml -tr "fileSize>=5MB,*.go" 
但是,触发器最初错误地设置为监视 c:\wmqfte 而不是 c:\wmqfte\monitors。 将立即重新发出 fteCreateMonitor 请求,并更正监视器目录以及用于更新监视器的 -f (覆盖) 和 -c (清除历史记录) 参数。
fteCreateMonitor -ma MYAGENT -md c:\wmqfte\monitors -mn MYMONITOR -mt c:\templates\transfer_reports.xml 
-tr "fileSize>=5MB,*.go" -f -c

返回码

返回码 描述
0 命令成功完成。
1 命令结束但未成功。