私たちはジョブのスケジューリングにAutoSysを使用していますが、ジョブの小さな変更(開始時間など)のために、ボックスを削除して再挿入するためのJIL(ジョブ指示言語)スクリプトをたくさん書いています。使用できる更新コマンドはありますか? CAのAutoSys チートシート 情報がありません。
はい、
これはupdate_job:属性です。
ボックスBOX_Aの開始時刻を14:00から15:00に変更する例
update_job: BOX_A
start_times: "15:00"
これをファイルに保存し、jil <filename.jilを使用して実行します
UPDATE_JOBを使用できます。これを使用し、更新が(単に更新するのではなく)start_timesを削除する場合、update_job jilで行うことは、start_timesエントリを含めますが、値を指定しないことに注意してください。以下のサンプルを参照してください。
update_job: BOX_A
start_times:
上記は、ジョブのstart_timesを削除します。更新jilでstart_timesを削除しただけの場合、start_timesは更新されず、引き続きjilに残ります。
Jil CLIから直接コマンドを入力するときに考慮する必要があるかもしれないことの1つは、コマンドの終了後にその出口を書き込む必要があることです。そうしないと、有効にならない可能性があります。これは数日前に私に起こりました。
したがって、JILにコマンドを入力しても効果がなかった場合は、プロンプトの最後にexitと書き込んでみてください。
jil>> update_job: xyz <Enter>
jil>>1>start_times: 11:00 <Enter>
jil>>2>exit <Enter>
update_job: YOUR_JOB_NAME start_times: 04:00
興味があれば、autosysジョブを作成して別のジョブを更新できます。以下の出力をjilファイルに配置して、開始時に週7日実行されるジョブからsaを削除するautosysジョブを作成できます。ビルドの週末、つまり土曜日に実行する必要がないデータベースジョブがたくさんあります。
-------------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属性のオンとオフを切り替える必要がある可能性のあるジョブを含むメンテナンスボックスを作成します。ボックス内のすべてを簡単に確認でき、別のジョブを作成して元に戻すことができます。
グラフィカルインターフェイスからupdatejilコマンドを実行できることを知っている人はあまりいません。コマンドラインでこれを指定するだけです
command: echo "update_job\: runs_every_day job_type\: c start_times\: " | jil