[Control-M] Planning 탭에 Job 추가 / Order 하여 Monitoring 확인 / xml 파일 예시

EUN JY·2023년 12월 20일
1

ETC

목록 보기
3/3
post-thumbnail

1. Planning

  • Workspace 에 Job 들을 배치하여 저장할 수 있음
  • Check Out, Check In 으로 형상관리
  • Imort, Export 로 xml 파일 백업 및 불러오기 가능

1-1. Job 배치

  • Dummy 를 최상위에 배치하고 OS 들을 아래와 같이 배치 후 화살표로 연결

1-2. General 탭

항목내용
Job NameOS03
Description(설명란)
Commandnohup /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>
profile
개린이

0개의 댓글