[Linux] Shell프로그램 Crontab으로 실행하기

Linux 2011.04.13 18:13 Posted by 애플자라

crontab은 홈디렉토리의 .profile을 참조하지 않는다는 것.

 이상의 내용을 바탕으로 문제를 해결해 나간 과정.

 1. shell안에 아래 내용 직접 작성해넣음.

#------------------------------------------------------
export ORACLE_HOME=/home/oracle
export TNS_ADMIN=$ORACLE_HOME/network/admin

export ORACLE_BASE=/home/oracle
export TERM=vt100
export ORACLE_TERM=vt100
export PATH=$PATH:/usr/bin:$ORACLE_HOME/bin:/usr/ccs/bin
export LD_LIBRARY_PATH=/home/oracle/lib
export TNS_ADMIN=$ORACLE_HOME/network/admin
#export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export NLS_LANG=American_America.KO16KSC5601
export ORACLE_SID=tceng
export SHLIB_PATH=/bea/framework/sap:$ORACLE_HOME/lib:/bea/framework/sap:/bea/framework/epTray:/usr/local/CrossCertLIB

#------------------------------------------------------

   -> 왜인지 소용이 없었다.

 2. .profile을 직접 import 시켜주기로 작정... shell 파일 상단에 아래내용 추가.

#!/bin/ksh

. $HOME/.profile

   -> 마찬가지로 효과없음.

 3. 이것저것 해보다가 마침내 shell을 직접 실행시켜도 에러가 나는 지경에 이름.

  -> .profile을 잘못건드려서 classpath import 가 안되는 바람에.. .profile 복구하여 해결.

 4. 선대 삽질러께서 이미 ojdbc 에 필요한 설정파일을 jar로 묶어서 classpath에 넣어두셨다는 이야기를 들음.

   그런데 왜 안됐던것일까? 멍청하게도 난 shell의 클래스패스를 이렇게 잡아두었던 것이다.

export CLASSPATH=.:$CLASSPATH

.profile의 classpath를 그대로 복사해와서 export 시켰더니 마침내 cron에서도 구동 성공!!!!!!!!!!

============================================================================================

금일 H증권 고객사 작업중 Shell파일을 Crontab으로 구동하려고 하였으나 안되어 위 내용 참조 후
아래와 같이 등록

* Shell파일 내용

export LANG=ko_KR

export JAVA_HOME=/usr/java14
export CLASSPATH=.:/EMSPGM/ems51/XecureExpress/lib/java
export LIBPATH=.:/EMSPGM/ems51/XecureExpress/lib/java/jni


/EMSPGM/ems51/script/emsstop.sh

# JUPITER engine
/EMSPGM/ems51/jupiter_common/bin/run.sh start
/EMSPGM/ems51/jupiter_common/bin/log.sh start

# TARGETING engine
/EMSPGM/ems51/jupiter_common/bin/ems_targeting.sh start

# AUTO engine
/EMSPGM/ems51/auto_01/bin/run.sh start
/EMSPGM/ems51/auto_01/bin/log.sh start

# TRACKING engine
/EMSPGM/ems51/mars/bin/tr.sh start

crontab을 매일 아침 6시 30분 설정으로 재구동 등록 정상 확인함

출처 - http://blog.naver.com/aini79?Redirect=Log&logNo=30067369533

'Linux' 카테고리의 다른 글

리눅스 세션 계속 유지하기  (0) 2011.09.19
Apache log4j.properties  (0) 2011.08.01
[Linux] Shell프로그램 Crontab으로 실행하기  (0) 2011.04.13
[Linux].profile  (0) 2010.09.09
[Unix]export LANG=c  (0) 2010.06.23
Tomcat Unix버전 JAVA메모리  (0) 2010.06.01

댓글을 달아 주세요