我们使用 AutoSys 进行作业调度,我发现自己编写了很多 JIL(作业指令语言)脚本来删除框并由于小的作业更改(例如开始时间等)重新插入它们。有没有可以使用的更新命令?CA 的 AutoSys备忘单没有任何信息。
7 回答
是的,
它是 update_job: 属性。
将框 BOX_A 开始时间从 14:00 更改为 15:00 的示例
update_job: BOX_A
start_times: "15:00"
将其保存到文件中并使用 jil < filename.jil 运行它
直接从 jil CLI 输入命令时可能需要考虑的一件事,必须在完成命令后编写退出。否则它可能不会生效。这几天前发生在我身上。
因此,如果您在 JIL 中输入了命令并且没有生效,请尝试在提示符末尾写 exit。类似:
jil>> update_job: xyz <Enter>
jil>>1>start_times: 11:00 <Enter>
jil>>2>exit <Enter>
您可以使用 UPDATE_JOB。请注意,如果您使用它并且您的更新是删除 start_times(而不仅仅是更新它),那么您将对 update_job jil 执行的操作是仍然包含 start_times 条目但不指定任何值。请参阅下面的示例:
update_job: BOX_A
start_times:
上述将删除作业的 start_times。如果您只是删除更新 jil 中的 start_times,则 start_times 将不会更新,它仍将保留在 jil 中。
update_job: YOUR_JOB_NAME
start_times: 04:00
伙计们,如果您有兴趣,您可以创建一个 autosys 作业来更新另一个作业。下面的输出可以放在 jil 文件中以创建一个 autosys 作业,该作业在启动时将从每周运行 7 天的作业中删除 sa。我有许多数据库作业,有时在构建周末(即星期六)期间不需要运行。
-------------This goes in the jil file-------------------
/* ----------------- update_job_date ----------------- */
insert_job: update_job_date job_type: c
box_name: update_job_attributes
command: echo "update_job\: runs_every_day job_type\: c days_of_week\: mo,tu,we,th,fr,su" | jil
machine: localhost
owner: root@localhost
permission: gx,wx
condition: d(job1)
description: "change date for update_job_date"
std_out_file: "$TEMP_PATH/$AUTO_JOB_NAME.log"
std_err_file: "$TEMP_PATH/$AUTO_JOB_NAME.log"
alarm_if_fail: 1
profile: /home/variables_autosys
-------------This goes in the jil file-------------------
我了解更新的作用,并且您可以更新许多其他属性。上面的示例不需要您创建 jil 文件来执行更新。
我上面的示例是针对用户需要为临时维护执行此操作的场景。因此,在这种情况下,他们创建了一个维护箱,其中包含可能需要打开和关闭作业的某些 autosys 属性的作业。我发现很容易看到一个盒子里的所有东西,然后你可以创建另一个工作来把东西放回去。
没有多少人知道您可以从图形界面运行更新 jil 命令。您所要做的就是在命令行中指定它
command: echo "update_job\: runs_every_day job_type\: c start_times\: " | jil
AutoSys 允许您添加、修改和删除具有以下作业名称属性的作业。
insert_job: JOB_NAME
--> 需要根据选择的作业类型提供其他子属性。
update_job: JOB_NAME
--> 只需要需要修改的子属性。如果要删除一个,则应将值替换为单个空白,并且需要将修改替换为新值。一些子属性依赖于其他子属性,例如只有在设置为 TRUE 或 FALSEstart_times
时才会生效。date_conditions
delete_job: JOB_NAME
--> 不需要其他子属性