[英]Control-M Prerequisites - Make job dependent on server availability
我想知道是否可以根據服務器可用性為作業添加先決條件。 假設作業 J 從作業服務器 JS 運行,並且它與另外兩個服務器 SERVER1 和 SERVER2 交互。
我想配置作業 J,使其僅在 SERVER1 和 SERVER2 可用時運行。 如果兩台服務器中的任何一台出現故障,作業應等待服務器重新聯機。
我不知道這應該是評論還是答案,但是您要查找的內容在 Control-M 中本身並不可用。
我能為您想到的最簡單的解決方案是配置睡眠作業以在 SERVER1 和 SERVER2 上運行,並將它們作為作業 J 的前任。這些睡眠作業僅在 SERVER1/2 上的代理可用時運行,因此確認服務器可用性在執行作業 J 之前。
或者,您可以編寫一個循環等待 SERVER1/2 響應 ping 的腳本,然后完成並將此作業配置為作業 J 的前任。
我仍然是 Control-M 的新手,但我們已經實現了一個具有類似目標的解決方案,其中包含一個工作掛鈎來證明節點。
假設,您的目標服務器(節點)稱為 JS,它與 SERVER1(我們稱為 node01)交互。 以后可以添加任意數量的服務器/節點,讓我們看看只有一個節點。
概覽組件:
作業名稱:node01_check_resource
Job Goal ---> Check if quantitative resource already existing
Job OS Command ---> ecaqrtab LIST node01_run
Result yes ---> do nothing,
Result no ---> Job node01_create_resource, command: ecaqrtab ADD node01_run 100 (or as many as you wish)
作業名稱:node01_check(循環)
Job Goal ---> Check if node up
Job OS Command ---> As you define that you node is up: check webservice, check uptime, wmi result, ping, ...
Result up ---> rerun job in x minutes
Result no ---> go for next job
作業名稱:node01_up-down
Job Goal ---> Case for switching between status up and status down
Job OS Command ---> ecaqrtab UPDATE node01_run 0
On-Do action: ---> when job ended, remove condition that node01_check cannot start (as is defined as cyclic job)
作業名稱:node01_check_down(循環)
Job Goal ---> Check status while known status is down
Job OS Command ---> As defined in node01_check
Result down ---> Do nothing as job is defined as cyclic
Result up ---> Remove some contitions
作業名稱:node01_down-up
Job Goal ---> Switching all back to normal operation
Job OS Command ---> ecaqrtab UPDATE node01_run 100
Action ---> Add condition that node01_check can run again
您可以為多個節點定義這樣的作業鈎子,您可以在每個作業中定義應該啟動和運行的節點(意味着數量資源高於 0 的節點)。 它可以監控多台主機並仍然設置相同的資源 - 如您所願。
我希望這會有所幫助,除非您已經找到合適的解決方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.