我正在创建一个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时出错。
答案 0 :(得分:0)
可能无法从配置文件中获取计算机名称,因为配置文件是从计算机上获取的,然后才从autosys定义执行command
,即machine
是前置-读取profile
文件的必要条件。
您可以在machine
属性中使用计算机选择器脚本。但这不是推荐的方法,因为它在AE服务器上执行脚本时会带来安全风险。
machine: `script_that_returns_machine_name`
如果不想在autosys定义中对计算机名称进行硬编码,则更好的方法是使用虚拟机。