fteCreateMonitor(创建 "MFT资源监控器)

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

用途

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

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

注:
  • 对于可以在代理程序上创建的资源监视器数量没有限制,并且所有资源监视器都以相同的优先级运行。 考虑重叠受监控资源的含义、冲突触发条件的含义以及轮询资源的频率。 有关更多信息,请参阅 MFT 资源监视概念
  • 不能使用包含已调度传输的任务定义来创建资源监视器。 如果尝试创建具有传输定义的资源监视器,该传输定义指向调度为在特定时间运行并重复的传输,那么将显示以下消息:Task definition file contains a scheduled transfer. A scheduled transfer can not be used with a resource monitor.
  • fteCreateMonitor 命令在协议网桥代理上不受支持。
提示: 您还可以使用 fteListMonitors 命令将资源监视器配置导出到 XML 文件:
  • fteListMonitors 命令与 -ox 配合使用将导出单个资源监视器的定义。
  • IBM® MQ 9.1.0开始,将 fteListMonitors 命令与 -od 配合使用,将多个资源监视器定义导出到指定的目录。 您还可以使用 -od 选项将单个资源监视器定义导出到指定的目录。
有关 "fteListMonitors命令的更多信息,请参阅fteListMonitors(列出 MFT 资源监控器)

特殊字符

请谨慎使用包含特殊字符的参数值,从而避免命令 shell 以您不期望的方式解析字符。 例如,包含空格,引号 (单引号或双引号) ,反斜杠或正斜杠字符等字符的标准文件路径和名称可能由命令 shell 解释,而不是直接传递到命令本身。 为了避免命令 shell 解释字符,请使用双引号或单引号将整个参数括起来,或者使用命令 shell 的转义序列对特殊字符进行转义。 在 Windows 上指定文件路径时,请确保将分隔符反斜杠 (\) 输入为双反斜杠 (\\) ,即转义反斜杠 (\)。  或者,可以使用单个正斜杠 (/) 字符作为分隔符。"

Syntax

fteCreateMonitor

Read syntax diagramSkip visual syntax diagram fteCreateMonitor  -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 -tc-tcr pattern -tccsrcDestdestSrc -x  exclude_pattern  -mmd  monitor_metadata  -pt  pattern_type  -bs  matches_per_task -mquseriduser_id-nolpw-mqpasswordpassword-nolpw -dv  default_variables  -p  configuration_options 

参数

-ix xml_filename
可选。 从 XML 文件导入资源监视器配置。
-ox xml_filename
可选。 此参数必须与 -ma-mn 参数一起指定,并且可以与 -f 参数一起使用。 将资源监视器配置导出到 XML 文件。
-mn 监视器名称
必需。 您分配给此监视器的名称。 监视器名称对于监视代理必须是唯一的。 但是,您可以删除一个监视器,然后创建同名的监视器。
资源监视器名称的最大长度为 256 个字符。 资源监视器名称不区分大小写。 以小写或大小写混合形式输入的资源监视器名称将转换为大写。 资源监视器名称不得包含星号 (*)、百分号 (%) 或问号 (?) 字符。
-ma 监控代理名称
必需。 要执行资源监视的代理的名称。 此监视代理必须是您要触发的监视器任务的源代理。
-mm monitoring_agent_qmgr_name
监视代理连接到的队列管理器的名称。 由于监视代理和源代理必须相同,因此该队列管理器也是源代理队列管理器。
注: fteCreateMonitor 命令连接到 Managed File Transfer 拓扑的命令队列管理器。 如果命令队列管理器也是监视代理的代理队列管理器,那么该参数是可选参数。 否则,该参数是必需参数。
-f
可选。 使用该参数可覆盖资源监视器配置。 例如,如果您选择的资源监视器名称在资源监视代理上已经存在,并且您希望将其更新,而不是将其删除并重新创建同名的监视器。 使用此参数将使代理重新启动监视进程。
-c
可选。 此参数清除更新的资源监视器的历史记录,这使资源监视器重新检查触发条件。 此参数只能与 -f 参数一起使用。
-md 目录路径
可选。 您要监视的目录路径的绝对名称。 除非您要使用 -ix-ox 参数,否则必须指定 -md-mq 参数之一。
-mq 队列名称
可选。 要监视的队列的名称。 该队列必须在监视代理队列管理器上。 除非您要使用 -ix-ox 参数,否则必须指定 -md-mq 参数之一。
-mt 任务定义文件名称
必需。 XML 文档的名称,该文档包含您要在满足触发条件时执行的任务定义。 有关更多信息,请参阅 使用传输定义文件。 传输定义 XML 文档的路径必须在您从其运行 fteCreateMonitor 命令的本地文件系统上。 如果未指定文件路径,那么该命令将在当前工作目录中查找此文件。 除非您要使用 -ix-ox 参数,否则 -mt 是必需参数。
您可以在fteCreateTransfer命令中使用 "-gt参数来生成包含文件传输请求的 XML 模板文档。 监视器将传输模板用作其任务定义。
运行 fteCreateMonitor 命令时,还可以使用传输恢复超时 -rt 参数以及 -gt 参数。 您可以设置时间量(以秒为单位),在此期间,源代理会一直重试恢复停止的传输。 然后,恢复超时参数将包含在带有监视器使用的传输定义的 XML 文档。 有关如何设置该参数的更多信息,请参阅fteCreateTransfer命令
[z/OS]z/OS®上,必须将任务定义文档存储在 z/OS UNIX System Services上的 UNIX 文件中。 您无法将任务定义文档存储在 z/OS 顺序文件或 PDS 成员中。
[IBM i]IBM i上,必须将任务定义文档存储在集成文件系统中。
-rl 递归级数
可选。 根监视目录的监视递归级别,即,要向下深入的子目录级别数。 例如,在类似以下示例的目录结构中,将 C:/wmqfte/monitor 设置为根监视目录
C:/wmqfte/monitor
C:/wmqfte/monitor/reports
C:/wmqfte/monitor/reports/2009
C:/wmqfte/monitor/reports/2009/April
如果指定 -rl 2,那么 Managed File Transfer 仅向下搜索 C:/wmqfte/monitor/reports/2009 目录及其同代目录。 将忽略 C:/wmqfte/monitor/reports/2009/April 目录。 缺省情况下,递归设置为无。
-pi 间隔期
可选。 一个目录的每次监视之间的时间间隔。 轮询时间间隔必须是正整数值。 -pi 的缺省值是 1
-pu 单元
可选。 监视器轮询时间间隔的时间单位。 如果指定 -pu 参数,还必须指定 -pi 参数。 -pu 的缺省值为 minutes。 指定以下某个选项:
分钟
小时
days
-tr
可选。 指定为执行定义的任务所必须满足的触发条件。 如果不满足该条件,那么根据源代理,监视器任务(例如,文件传输)将不会启动。 一个触发条件包含两个可选部分:条件和模式(以逗号分隔)。 指定以下某种格式:
  • condition,pattern
    
    其中条件是以下某个值:
    match
    对于满足的每个触发器,将执行所定义的任务。 match 是缺省值。

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

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

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

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

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

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

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

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

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

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

-tc
可选。 指示触发的文件包含一个或多个用于生成传输请求的文件路径。 触发器文件内容的缺省格式是每行上一个文件条目。 将文件路径指定为 source file pathsource file path,destination file path。 此参数仅对目录监视触发器 matchnoSizeChange 可用。
-tcr 模式
可选。 指定用于解析触发器文件的替换正则表达式。 如果指定 -tcr 参数,还必须指定 -tc 参数。
设计模式以使用一个或两个捕获组完全解析每行条目。 第一个组定义源文件路径,而第二个可选组则定义目标文件路径。 这是缺省行为,可以使用 -tcc 参数进行更改。
有关更多信息和示例,请参阅 使用触发器文件
-tcc
可选。 定义正则表达式捕获组顺序。
srcDest
缺省值,第一个组是源文件路径,而第二个组则是目标文件路径。
destSrc
srcDest 顺序相反。 第一个组是目标文件路径,而第二个组是源文件路径。 确保 destSrc 的正则表达式具有两个捕获组。
如果指定 -tcc 参数,还必须指定 -tcr 参数。
--x 排除模式
可选。 指定从触发器模式匹配中排除的文件。 触发器模式由 -tr 参数指定。
模式是使用通配符或 Java 正则表达式格式的文件模式匹配序列。 缺省格式是通配符格式。 使用 -pt 参数来指定模式的格式。
-mmd monitor_metadata
可选。 指定传递到监视器的出口点的用户定义的元数据。 此参数可以采用以逗号分隔的一个或多个名称对。 每个名称对由 name=value 组成。 您可以在一条命令中多次使用 -mmd 参数。
-pt pattern_type
可选。 由 -tr-x 参数使用的模式的类型。 有效值包括:
wildcard
模式将作为通配符模式进行求值。 星号 (*) 与零个或更多字符匹配,而问号 (?) 只与一个字符匹配。 这是缺省值。
regex
模式将作为 Java 正则表达式进行求值。 有关更多信息,请参阅 MFT 使用的正则表达式
-bs 每任务匹配数
可选。 要包含在单个任务中的触发器匹配项的最大数量。 例如,如果为 matches_per_task 指定了值 5,而在单个轮询时间间隔内出现九个触发器匹配项,那么将执行两个任务。 第一个任务对应于触发器 1-5(含 1 和 5),第二个任务对应于触发器 6-9。 matches_per_task 的缺省值为 1。
仅当提供给 -mt 参数的任务定义 XML 为 managedTransfer 时,才支持 -bs 参数。 -bs 参数不支持 managedCall。
-mquserid user_id
可选。 指定要向命令队列管理器进行认证的用户标识。
-mqpassword 密码
可选。 指定通过协调队列管理器进行认证时所使用的密码。
指定 -mqpassword 参数时,还必须指定 -mquserid 参数。 如果指定 -mquserid,但未指定 -mqpassword,那么系统将提示您提供关联的密码,不会显示该密码。

[MQ 9.3.0 2022 年 6 月][MQ 9.3.0 2022 年 6 月]IBM MQ 9.3 开始,该命令缺省为使用 MQCSP 认证,并将要认证的用户标识和密码发送到 MQCSP 结构中的队列管理器。

[MQ 9.3.0 2022 年 6 月][MQ 9.3.0 2022 年 6 月]-nolpw
可选。 如果命令连接到不支持长度超过 12 个字符的密码的队列管理器,请指定此参数。
指定 -nolpw 参数时,还必须指定 -mquserid 参数。 如果指定 -mquserid-nolpw,但未指定 -mqpassword,那么系统会提示您提供关联的密码,不会显示该密码。
注: 如果指定 -nolpw 选项,并且密码长度超过 12 个字符,那么命令将失败并返回错误消息 BFGCL0829E
-dv 默认变量
可选。 缺省变量的逗号分隔列表,监视队列时可以将这些变量用于变量替换。 值的格式为键/值对。 例如:
-dv size=medium,color=blue
有关变量替换的更多信息,请参阅 使用变量替换定制 MFT 任务。 仅当同时指定了 -mq 参数时,才能指定 -dv 参数。
-或-h
可选。 显示命令语法。
--p 配置选项
可选。 该参数确定用于取消传输的配置选项集。 按照约定,请使用非缺省协调队列管理器的名称作为该参数的输入。 然后,该命令使用与此非缺省协调队列管理器相关联的属性文件集。
如果未指定该参数,那么将使用基于缺省协调队列管理器的配置选项集。

示例

在此示例中,将使用监视代理程序 MYAGENT 创建称为 MYMONITOR 的新资源监视器。 如果触发条件是目录 C:/wmqfte/monitors中存在大于 5 MB 的文件,那么将启动文件 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

返回码

表 1. 返回码名称和描述
返回码 描述
0 命令成功完成。
1 命令结束但未成功。