在一定条件下控制M作业呼喊/发送电子邮件



我是Control M的新手。我需要创建一个作业。我的工作应该调用一个shell脚本,在那里我需要检查是否已经收到文件。如果没有,我需要向列表发送一封电子邮件,如果是,我需要在一段时间后重试该作业。如果收到了文件,那么我只需要执行一个脚本,就不需要重新运行。请帮我怎么做。

我已经创建了一个脚本,用于检查文件是否已接收到所需的目录中。我如何将信息传递给控制M作业以从控制M步骤选项卡发送电子邮件。此外,如果收到文件,我如何控制重新运行。请帮忙。

听起来你需要把你的工作分成两个单独的工作。

第一个作业应该是文件观察程序。将此作业设置为循环运行,在找不到文件时发送电子邮件(oscompstat 7),并设置为在找到文件时停止循环和发布条件(oscompstat0)。

第二个作业将在从第一个作业接收到out条件时执行脚本。

顺便说一句,我建议您考虑使用control-m内置的filewatcher实用程序ctmfw,而不是自己编写脚本。

按照以下步骤操作:

  1. 在您的操作系统作业中,在scheduling下选择cyclic job,并相应地添加重新运行的时间间隔。例如:每15分钟。配置结束时间/重播次数取决于您的要求。

  2. 在shell脚本中,获取输出的方式可以识别是否接收到文件。例如:如果您收到了文件,则输出1,如果未收到文件则输出0。

  3. 在操作下>On Do Actions-创建一个新的On Specific Statement Output

    A) 语句值:*

    B) 代码值:output0--这表示您正在搜索包含output0 的输出

    C) 添加待办事项>通知:在"目的地"下,选择"邮件"并提供接收信息的详细信息。

    a) 添加另一个On-Do操作-创建一个新的On-Specific语句输出

    b) 语句值:*

    c) 代码值:output1--这表示您正在搜索包含output1 的输出

    d) 添加待办事项>选择Stop Cyclic Run(停止循环运行)--这表示当我们收到文件时,我们正在停止循环运行。

    e) 添加待办事项>订单作业提供Control-M服务器名称:如果您在同一服务器中运行,请选择。文件夹:提供文件夹名称作业名称:提供收到文件后要触发的作业名称。

这里,Control-M作业一直运行,直到输出值为:output1。一旦收到,它就会停止循环作业。

相关内容

最新更新