在某种情况下控制M工作喊/发送电子邮件

时间:2017-01-13 00:16:17

标签: control-m

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

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

2 个答案:

答案 0 :(得分:0)

听起来你需要将你的工作分成两个独立的工作。

第一份工作应该是文件观察者。 将此作业设置为循环运行,发送未找到文件的电子邮件(oscompstat 7)并设置为停止循环并在找到文件时发布out-condition(oscompstat 0)。

第二个作业只是在收到第一份作业的超出条件后执行脚本。

另外,我建议你研究一下使用control-m的内置filewatcher实用程序$ip=$_SERVER["HTTP_CF_CONNECTING_IP"]; if (!isset($ip)) { $ip = $_SERVER['REMOTE_ADDR']; } ,而不是自己编写脚本。

答案 1 :(得分:0)

请按照以下步骤操作:

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

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

  3. Under Actions > On Do Actions - 创建一个新的 On 特定语句输出

    A) 语句值:*

    B) 代码值:output0 -- 这表明您正在搜索包含 output0

    的输出

    C) 添加执行 > 通知:在目的地下选择邮件并提供接收信息的详细信息。

    a) 添加另一个 On Do Actions - 创建一个新的 On Specific Statement Output

    b) 语句值:*

    c)Code value: output1 -- 这表示您正在搜索包含 output1 的输出

    d) Add Do > Select Stop Cyclic Run -- 这表明当我们收到文件时,我们正在停止循环运行。

    e)Add Do > Order Job 提供 Control-M 服务器名称:选择是否在同一服务器中运行。 文件夹:提供文件夹名称 作业名称:提供您收到文件后要触发的作业名称。

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