Autosys Job:机器名称参数化

时间:2019-03-26 09:36:35

标签: parameter-passing autosys jil

我正在创建一个Autosys作业,如下所示:

/* ----------------- GLB_1045_AMDGC_IntegrationAMDH_DEV ----------------- */


insert_job: GLB_1045_AMDGC_Integration_DEV   job_type: CMD

command: /app/localstorage/AMDGC/Scripts/Integration_trigger.sh

machine: 1045_VM_AMDGC_APP_DEV2

owner: dgovdev

permission: gx,mx

date_conditions: 1

days_of_week: mo

start_times: "10:00"

description: "This Job is to trigger Integration workflow instance"

n_retrys: 2

std_out_file: "$LOGS_DIR/$AUTO_JOB_NAME.$AUTORUN"

std_err_file: "$LOGS_DIR/$AUTO_JOB_NAME.$AUTORUN"

max_run_alarm: 5

alarm_if_fail: 1

profile: "/app/localstorage/AMDGC/Profile/env.profile"

timezone: US/Eastern

我想参数化机器名称,以便JIL从env.profile文件中读取类似于:

machine: ${machine_name}

machine_name文件中的env.profile属性是这样的:

machine_name=1045_VM_AMDGC_APP_DEV2

我尝试过,但是在服务器上提交JIl时出错。

1 个答案:

答案 0 :(得分:0)

可能无法从配置文件中获取计算机名称,因为配置文件是从计算机上获取的,然后才从autosys定义执行command,即machine是前置-读取profile文件的必要条件。

您可以在machine属性中使用计算机选择器脚本。但这不是推荐的方法,因为它在AE服务器上执行脚本时会带来安全风险。

machine: `script_that_returns_machine_name`

如果不想在autosys定义中对计算机名称进行硬编码,则更好的方法是使用虚拟机。