>> Delete Reply from No. 35733 article
No. RE: [수정]

등록 2001-11-24 17:02:00 By localhost     조회 2
이름 단n키    

		/etc/cron.allow 혹은 /etc/cron.deny 설정이 되어 있단 말씀이군요...
이렇게 애석한 일이.. ^^;;
 쉘스크립트가 아래사항을 처리하기 좋은 수단은 아니긴 하지만 불가능 한 것은 아닙니다.
 while문과 if문, date와, sleep을 적절히 사용하시면 원하는 스크립트 작성이 가능합니다.
 예를 들어 매시간 50이 되면 특정 작업을 처리하고 10번 실행하면
끝마치는 스크립트라면.. (허접한 예이니 양해하세요^^;;)
 <pre>
----------------
#!/bin/bash
 MAXEXEC=10        # 10번 실행
CHK_T_MIN=50      # 50분이 되면 실행
INTERVAL_MIN=60   # 한 시간 간격
 i=1
while [ $i -le $MAXEXEC ]; do
  OFFSET_MIN=$(($CHK_T_MIN-$(date '+%M')))
  OFFSET_SEC=$((0-$(date '+%S')))
   if [ $OFFSET_SEC -lt 0 ] ; then
    OFFSET_MIN=$(($OFFSET_MIN-1))
    $OFFSET_SEC=$(($OFFSET_SEC+60))
  fi
   if [ $OFFSET_MIN -lt 0 ]; then
    OFFSET_MIN=$(($OFFSET+$INTERVAL_MIN))
  fi
   sleep ${OFFSET_MIN}m ${OFFSET_SEC}s 2>/dev/null # 계산한 시간으로 쉰다.
   echo "Do someting..."  # 원하는 작업 -_-;;
   i=$(($i+1))  # 실행한 횟수를 더한다. 이게 없으면 무한 루프
   OFFSET_MIN=$(($CHK_T_MIN-$(date '+%M')))
  [ $OFFSET_MIN -gt 0 ] && sleep ${OFFSET_MIN}m # 행여나 미리실행하게 되었다면
   done
 exit 0
--------------------
</pre>
 여기까지 입니다. 정밀하게 할려고 할 수록 스크립트는 복잡해 질 수도 있지만... 막상짜
려니 잘 안되는 군요. sleep을 썼던 이유는 지나치게 CPU를 많이 쓰지 않도록하기 위해서입니
다.  그런데... 짜긴 짰는데 문제가 한가지 있죠?
로그 아웃 후에도 실행되길 원한다면...?
 nohup이란 명령어가 있습니다. 이것이 nice레벨을 올리므로써(일종의 프로세스 우선권이라
고 할 수 있습니다.) 로그아웃 후에도 실행할 수 있게금 해줍니다.
 $ chmod 700 쉘스크립트.sh
$ nohup 쉘스크립트.sh &
 위와 같이 해 주시면 무슨 메시지와 함께 로그아웃 후에도 실행이 됩니다.
 메세지를 읽어 보면 작업한 결과를 어떤 파일에 저장하겠다고 나옵니다.
만일 작업결과를 다른 파일에 저장하길 원하신다면 위의 쉘스크립트에서 리다이렉션(재지
향)을 통해서 바꾸시면 됩니다.  그럼..
   : 안녕하세요...
: bash-2.05$ 이런 환경에서 작업 아니 (공부중)이구요...
: cron 은 사용할수 없읍니다.
: 이때..
:
: =========================
: route
:
: 이런 몆가지 명령어들로 일정시간이 되면 계속 반복 , 또는 일정 시간후에 n번 만큼
:
: 실행을 할려구 하느데요...
:
: 어떤 명령어를 써야...일정시간이 되면 다시 실행 할수 있을까요..??
:
: ==========================
:
: 무식해서 죄송합니다....
:
: 알켜주세요...
[관리자] 패스워드를 입력 하십시오. 답장이 존재하면 함께 삭제됩니다.[ 목록 | 이전 ]
패스워드:    

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved