我有一个controlM作业,它调用一个带有4个命令行参数的shell脚本。命令如下:
sh /appl/Script/Script1.sh ABC /appl/Landing SV_SID_NormalisedEvent_* Y
命令行中的第3个参数(SV_SID_NormalisedEvent_*
)是脚本在第二个参数(/appl/Landing
)中提供的路径中查找的文件通配符/模式。
当一个特定的损坏文件中止时,此作业运行正常:SV_SID_NormalisedEvent_20150810_151805.csv.gz
。我们通过忽略此文件并强制执行ok作业来手动处理此故障
从那时起,每当在每日运行期间触发此作业时,它总是触发如下命令并失败。不知何故,第3个参数总是作为特定文件而不是通配符传递:
sh /appl/Script/Script1.sh ABC /appl/Landing SV_SID_NormalisedEvent_20150810_151805.csv SV_SID_NormalisedEvent_20150810_151805.csv.gz Y
作业运行正常时输出的正确命令如下:
sh /appl/Script/Script1.sh ABC /appl/Landing 'SV_SID_NormalisedEvent*' Y
有关此问题的任何指示?上面的命令输出来自每次运行期间创建的sysout文件。
答案 0 :(得分:0)
我们通过忽略此文件并强制手动处理此故障 好的工作
听起来好像文件还没有被清理过并且每次都被发现。这可能吗?
如果此命令仍包含正确的参数SV_SID_NormalisedEvent_*
,则作业将使用定义的命令行运行。
我无法想到你看到这种行为的任何其他原因。