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 파일
<?xml version="1.0" encoding="utf-8"?>
<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">
<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 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>