Control M - ynjch97/YNJCH_WIKI GitHub Wiki

1. Planning

  • Workspace ์— Job ๋“ค์„ ๋ฐฐ์น˜ํ•˜์—ฌ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Œ
  • Check Out, Check In ์œผ๋กœ ํ˜•์ƒ๊ด€๋ฆฌ
  • Imort, Export ๋กœ xml ํŒŒ์ผ ๋ฐฑ์—… ๋ฐ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ๊ฐ€๋Šฅ

1-1. Job ๋ฐฐ์น˜

  • Dummy ๋ฅผ ์ตœ์ƒ์œ„์— ๋ฐฐ์น˜ํ•˜๊ณ  OS ๋“ค์„ ์•„๋ž˜์™€ ๊ฐ™์ด ๋ฐฐ์น˜ ํ›„ ํ™”์‚ดํ‘œ๋กœ ์—ฐ๊ฒฐ

1-2. General ํƒญ

ํ•ญ๋ชฉ ๋‚ด์šฉ
Job Name OS03
Description (์„ค๋ช…๋ž€)
Command nohup /export/app/home/ynjch/shell/os03.sh > /export/app/home/ynjch/shell/CTRLM_LOG/os03.log
Host/Host Group (์„œ๋ฒ„๋ช…)
Run As (์„œ๋ฒ„ ์‚ฌ์šฉ์ž๋ช…)
Application (์ž„์˜ ์ง€์ •)
Sub Application (์ž„์˜ ์ง€์ •)
  • Command ํƒ€์ž…์œผ๋กœ ์ง€์ • ์‹œ, ์„œ๋ฒ„์—์„œ ์ž‘์„ฑํ•˜๋Š” ๋ช…๋ น์–ด์™€ ๋™์ผํ•˜๊ฒŒ ์ž‘์„ฑ
    • nohup /export/app/home/ynjch/shell/os03.sh & ์™€ ๊ฐ™์ด ์‚ฌ์šฉ ์‹œ, ๋‹ค์Œ Job ์ด ํ•จ๊ป˜ ์‹คํ–‰๋˜๋ฏ€๋กœ ์ฃผ์˜
    • ์‹คํ–‰๋  ์Šคํฌ๋ฆฝํŠธ ๋‚ด์—์„œ๋„ & ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค์Œ Job ์ด ํ•จ๊ป˜ ์‹คํ–‰๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ํ•˜๋‹จ์— wait ๋ฅผ ๊ธฐ์žฌํ•˜์—ฌ ๋ฐฉ์ง€
  • os03.sh ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‚ด์šฉ์ž„
# ์ฃผ์„ ๋‚ด์šฉ
sp_run.sh "PROC_TAB_01('1')" &
sp_run.sh "PROC_TAB_02('1')" &
wait
sp_run.sh "PROC_TAB_01('2')" &
sp_run.sh "PROC_TAB_02('2')" &
wait

1-3. Scheduling ํƒญ

  • Active Environment Retention > Keep Active > forever ๋กœ ์ฒดํฌ
    • Monitoring ์—์„œ ์ˆ˜ํ–‰ ์ค‘ ์ค‘์ง€๋˜์ง€ ์•Š๋„๋ก ํ•จ
  • ๋‚˜๋จธ์ง€๋Š” ๊ธฐ๋ณธ ์„ค์ • ๊ฐ’์œผ๋กœ ์œ ์ง€

1-4. Prerequisites ํƒญ

  • [์„ ํ–‰Job]-TO-[ํ˜„์žฌJob]-OK ๋กœ ์„ค์ •ํ•˜๋ฉด ์ˆ˜ํ–‰ ๊ฒฐ๊ณผ๊ฐ€ OK์ผ ๋•Œ๋งŒ ์ˆ˜ํ–‰๋จ

1-5. Actions ํƒญ

  • [์„ ํ–‰Job]-TO-[ํ˜„์žฌJob]-OK ๋กœ ์„ค์ •ํ•˜๋ฉด ์ˆ˜ํ–‰ ๊ฒฐ๊ณผ๊ฐ€ OK์ผ ๋•Œ๋งŒ ์ˆ˜ํ–‰๋จ
  • ์„ ํ–‰ Job์— ๋Œ€ํ•œ ๊ฒƒ์ด๋ฏ€๋กœ ์šฐ์ธก ์„ค์ •์€ Remove
  • OS02 > Actions ํƒญ์—๋Š” ์šฐ์ธก ์„ค์ •์ด Add

1-6. Order

  • Order ๋Œ€์ƒ์ธ Job ๋“ค์„ ์„ ํƒ ํ›„ ์šฐํด๋ฆญ > Order
  • Ignore scheduling criteria, Hold ์— ์ฒดํฌํ•˜๊ณ  Order
    • Hold ๋ฏธ์ฒดํฌ ์‹œ, Monitoring ์— Order ๋˜์ž๋งˆ์ž ์‹คํ–‰๋˜๋ฏ€๋กœ ์ฃผ์˜

2. Monitoring

  • Planning ์—์„œ Order ํ•œ Job ๋“ค์„ All Active Jobs ์—์„œ ๋ณผ ์ˆ˜ ์žˆ์Œ
  • ๊ฐ Job ๋“ค์„ ์‹คํ–‰ ๋ฐ ์ค‘์ง€ํ•  ์ˆ˜ ์žˆ์Œ
  • Free : ํด๋ฆญ ์‹œ ์ž๋ฌผ์‡ ๊ฐ€ ํ•ด์ œ๋˜๋ฉด์„œ ์‹คํ–‰ ์‹œ์ž‘
    • ๋‹ค์‹œ Hold ์ƒํƒœ๋กœ ๋ฐ”๊ฟ”์ฃผ์ง€ ์•Š์œผ๋ฉด Delete ๋ถˆ๊ฐ€
  • ์šฐํด๋ฆญ > More Actions > Kill ์œผ๋กœ ๊ฐ•์ œ ์ข…๋ฃŒ ๊ฐ€๋Šฅ

2-1. Conditions ํƒญ

  • All Active Jobs > Tools ํƒญ > Conditions
  • OK ์ƒํƒœ๋กœ ๋๋‚ฌ์Œ์„ ๊ธฐ๋กํ•˜๋Š” ๊ณณ์œผ๋กœ, ๊ฐ™์€ Job ์„ ์ƒˆ๋กญ๊ฒŒ Order ํ•  ๋•Œ ์ด ๊ณณ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ง€์šฐ์ง€ ์•Š์œผ๋ฉด OS01, OS02, OS03์ด ๊ฐ™์ด ์‹คํ–‰๋˜์–ด๋ฒ„๋ฆด ์ˆ˜ ์žˆ์Œ
  • Condition Name ์œผ๋กœ ํ•„ํ„ฐ๋ง ๊ฒ€์ƒ‰ ๊ฐ€๋Šฅ (Refresh Conditions)

3. XML ํŒŒ์ผ

  • ๋‹ค์Œ๊ณผ ๊ฐ™์ด Export ๋จ
<?xml version="1.0" encoding="utf-8"?>
<!--Exported at 18-07-2023 13:27:05-->
<DEFTABLE xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Folder.xsd">
    <FOLDER DATACENTER="[DATACENTER๋ช…]" VERSION="920" PLATFORM="UNIX" FOLDER_NAME="FOLDER01" FOLDER_ORDER_METHOD="SYSTEM" TYPE="1">
        <!-- DUMMY -->
        <JOB JOBISN="37" APPLICATION="MIG" SUB_APPLICATION="AA" JOBNAME="DUMMY" DESCRIPTION="์„ค๋ช…๋ž€" CREATED_BY="migadm" RUN_AS="DUMMYUSR" CRITICAL="0" TASKTYPE="Dummy" CYCLIC="0" INTERVAL="00001M" CONFIRM="0" RETRO="0" MAXWAIT="99" MAXRERUN="0" AUTOARCH="1" MAXDAYS="0" MAXRUNS="0" JAN="1" FEB="1" MAR="1" APR="1" MAY="1" JUN="1" JUL="1" AUG="1" SEP="1" OCT="1" NOV="1" DEC="1" DAYS_AND_OR="O" SHIFT="Ignore Job" SHIFTNUM="+00" SYSDB="1" IND_CYCLIC="S" CREATION_USER="migadm" CREATION_DATE="20230717" CREATION_TIME="153811" CHANGE_USERID="migadm" CHANGE_DATE="20230717" CHANGE_TIME="162524" RULE_BASED_CALENDAR_RELATIONSHIP="O" APPL_TYPE="OS" MULTY_AGENT="N" USE_INSTREAM_JCL="N" VERSION_OPCODE="N" IS_CURRENT_VERSION="Y" VERSION_SERIAL="2" VERSION_HOST="DESKTOP-YJ097" CYCLIC_TOLERANCE="0" CYCLIC_TYPE="C" PARENT_FOLDER="FOLDER01" END_FOLDER="N">
            <OUTCOND NAME="DUMMY-TO-OS01-OK" ODATE="ODAT" SIGN="+" />
            <OUTCOND NAME="DUMMY-TO-OS02-OK" ODATE="ODAT" SIGN="+" />
        </JOB>
        <!-- JOB -->
        <JOB JOBISN="59" APPLICATION="MIG" SUB_APPLICATION="YJ" JOBNAME="OS01" DESCRIPTION="์„ค๋ช…๋ž€" CREATED_BY="miguser" RUN_AS="ynjch" CRITICAL="0" TASKTYPE="Command" CYCLIC="0" NODEID="ynjch01" INTERVAL="00001M" CMDLINE="nohup /export/app/home/ynjch/shell/os01.sh > /export/app/home/ynjch/shell/CTRLM_LOG/os01.log" CONFIRM="0" RETRO="0" MAXWAIT="99" MAXRERUN="0" AUTOARCH="1" MAXDAYS="0" MAXRUNS="0" JAN="1" FEB="1" MAR="1" APR="1" MAY="1" JUN="1" JUL="1" AUG="1" SEP="1" OCT="1" NOV="1" DEC="1" DAYS_AND_OR="O" SHIFT="Ignore Job" SHIFTNUM="+00" SYSDB="1" IND_CYCLIC="S" CREATION_USER="migadm" CREATION_DATE="20230717" CREATION_TIME="162524" RULE_BASED_CALENDAR_RELATIONSHIP="O" APPL_TYPE="OS" MULTY_AGENT="N" USE_INSTREAM_JCL="N" VERSION_OPCODE="N" IS_CURRENT_VERSION="Y" VERSION_SERIAL="1" VERSION_HOST="DESKTOP-YJ097" CYCLIC_TOLERANCE="0" CYCLIC_TYPE="C" PARENT_FOLDER="FOLDER01" END_FOLDER="N">
            <VARIABLE NAME="%%LIBMEMSYM" VALUE="/app/ctmadm/CTMLOG/ParamFile/Param_%%$ODATE..txt" />
            <INCOND NAME="DUMMY-TO-OS01-OK" ODATE="ODAT" AND_OR="A" />
            <OUTCOND NAME="DUMMY-TO-OS01-OK" ODATE="ODAT" SIGN="-" />
        </JOB>
        <JOB JOBISN="59" APPLICATION="MIG" SUB_APPLICATION="SS" JOBNAME="OS02" DESCRIPTION="์„ค๋ช…๋ž€" CREATED_BY="miguser" RUN_AS="ynjch" CRITICAL="0" TASKTYPE="Command" CYCLIC="0" NODEID="ynjch01" INTERVAL="00001M" CMDLINE="nohup /export/app/home/ynjch/shell/os02.sh > /export/app/home/ynjch/shell/CTRLM_LOG/os02.log" CONFIRM="0" RETRO="0" MAXWAIT="99" MAXRERUN="0" AUTOARCH="1" MAXDAYS="0" MAXRUNS="0" JAN="1" FEB="1" MAR="1" APR="1" MAY="1" JUN="1" JUL="1" AUG="1" SEP="1" OCT="1" NOV="1" DEC="1" DAYS_AND_OR="O" SHIFT="Ignore Job" SHIFTNUM="+00" SYSDB="1" IND_CYCLIC="S" CREATION_USER="migadm" CREATION_DATE="20230717" CREATION_TIME="162524" RULE_BASED_CALENDAR_RELATIONSHIP="O" APPL_TYPE="OS" MULTY_AGENT="N" USE_INSTREAM_JCL="N" VERSION_OPCODE="N" IS_CURRENT_VERSION="Y" VERSION_SERIAL="1" VERSION_HOST="DESKTOP-YJ097" CYCLIC_TOLERANCE="0" CYCLIC_TYPE="C" PARENT_FOLDER="FOLDER01" END_FOLDER="N">
            <VARIABLE NAME="%%LIBMEMSYM" VALUE="/app/ctmadm/CTMLOG/ParamFile/Param_%%$ODATE..txt" />
            <INCOND NAME="DUMMY-TO-OS02-OK" ODATE="ODAT" AND_OR="A" />
            <OUTCOND NAME="DUMMY-TO-OS02-OK" ODATE="ODAT" SIGN="-" />
            <OUTCOND NAME="OS02-TO-OS03-OK" ODATE="ODAT" SIGN="+" />
        </JOB>
        <JOB JOBISN="59" APPLICATION="MIG" SUB_APPLICATION="YJ" JOBNAME="OS03" DESCRIPTION="์„ค๋ช…๋ž€" CREATED_BY="miguser" RUN_AS="ynjch" CRITICAL="0" TASKTYPE="Command" CYCLIC="0" NODEID="ynjch01" INTERVAL="00001M" CMDLINE="nohup /export/app/home/ynjch/shell/os03.sh > /export/app/home/ynjch/shell/CTRLM_LOG/os03.log" CONFIRM="0" RETRO="0" MAXWAIT="99" MAXRERUN="0" AUTOARCH="1" MAXDAYS="0" MAXRUNS="0" JAN="1" FEB="1" MAR="1" APR="1" MAY="1" JUN="1" JUL="1" AUG="1" SEP="1" OCT="1" NOV="1" DEC="1" DAYS_AND_OR="O" SHIFT="Ignore Job" SHIFTNUM="+00" SYSDB="1" IND_CYCLIC="S" CREATION_USER="migadm" CREATION_DATE="20230717" CREATION_TIME="162524" RULE_BASED_CALENDAR_RELATIONSHIP="O" APPL_TYPE="OS" MULTY_AGENT="N" USE_INSTREAM_JCL="N" VERSION_OPCODE="N" IS_CURRENT_VERSION="Y" VERSION_SERIAL="1" VERSION_HOST="DESKTOP-YJ097" CYCLIC_TOLERANCE="0" CYCLIC_TYPE="C" PARENT_FOLDER="FOLDER01" END_FOLDER="N">
            <VARIABLE NAME="%%LIBMEMSYM" VALUE="/app/ctmadm/CTMLOG/ParamFile/Param_%%$ODATE..txt" />
            <INCOND NAME="OS02-TO-OS03-OK" ODATE="ODAT" AND_OR="A" />
            <OUTCOND NAME="OS02-TO-OS03-OK" ODATE="ODAT" SIGN="-" />
        </JOB>
    </FOLDER>
</DEFTABLE>
โš ๏ธ **GitHub.com Fallback** โš ๏ธ