2016-11-16 80 views
0

当通配符与autosys中的文件触发器一起使用以观看多个文件时,是否有任何方式或属性来获取触发它的文件名。文件触发器观看文件夹中的多个文件

insert_job: file_trigger 
job_type: FT 
machine: machine_name 
owner: user_name 
watch_file: /path/to/file/*pattern* 
watch_file_type: CREATE 

然后定义一个CMD作业file_trigger工作的成功后,执行命令:

+0

您是否需要在文件触发器之后运行的程序/脚本中的文件名?或者作为AutoSys全局变量? – badjr

+0

我需要脚本中的文件名来添加基于文件名的条件并调用java类 – user7169406

+0

您是否具有文件触发器作业的jil配置?你有没有触发文件触发工作成功的工作?如果你有问题,将它编辑成你的问题。 – badjr

回答

0

您可以使用JIL脚本定义文件触发工作

insert_job: cmd_job 
job_type: CMD 
command: /path/to/script/script.sh 
machine: machine_name 
owner: user_name 
condition: success(file_trigger) 

script.sh,你可以找到与您正在查找的图案相匹配的文件:

#!/bin/bash 
files=(/path/to/file/*pattern*) 
echo "The first matching file was ${files[0]}" 

${files[0]}保存与模式匹配的第一个文件的文件名。与文件触发器的通配符匹配的第一个文件也是与shell脚本的通配符相匹配的文件。

+0

不会给出总是与路径匹配的第一个文件相同的文件。我想要在创建时触发命令的文件。 – user7169406

+0

@ user7169406不确定AutoSys是否具有任何可以提供触发作业的文件的功能。那么在作业被触发后,匹配模式的文件将保留在目录中?用最新的时间标记查看文件是否有效? – badjr

+0

如果同时添加多个文件,则会失败 – user7169406

相关问题