분  시  일 월 요일 명령
10   *   *  *   *     echo 'Hello'

 
설명
   분: 0~59
   시: 0~23
   일: 1~31
   요일: 0~6 (0: 일요일, 6: 토요일)


1분단위의 경우

*/1 * * * * 명령어

이렇게 하면 1분단위가 되는데 30초 단위로 명령이 실행되고자 한다면 sleep 을 이용하면 된다.

* * * * * * 명령어 & sleep 30; 명령어

이렇게 하면 명령어가 실행된뒤 30초간 sleep 한뒤 다시 명령어를 실행 그렇게 계속 반복하도록 하는 것이다.

물론 수정후 데몬을 재시작 해주셔야겠죠
/etc/init.d/crond restart


예시 : 5초단위로 task라는 job을 돌여야 하는 경우

* * * * * ~/dostuff.sh

dostuff.sh:

(sleep 5 && /path/to/task) &
(sleep 10 && /path/to/task) &
(sleep 15 && /path/to/task) &
(sleep 20 && /path/to/task) &
(sleep 25 && /path/to/task) &
(sleep 30 && /path/to/task) &
(sleep 35 && /path/to/task) &
(sleep 40 && /path/to/task) &
(sleep 45 && /path/to/task) &
(sleep 50 && /path/to/task) &
(sleep 55 && /path/to/task) &
(sleep 60 && /path/to/task) &

 

 

 

 1분을 12회 실행 - 5초간격

/root/5seconds.sh & sleep 5

*/1 * * * * root cat /dev/null > /root/5seconds.txt; /root/5seconds.sh & sleep 5; /root/5seconds.sh & sleep 5; /root/5seconds.sh & sleep 5; /root/5seconds.sh & sleep 5; /root/5seconds.sh & sleep 5; /root/5seconds.sh & sleep 5; /root/5seconds.sh & sleep 5; /root/5seconds.sh & sleep 5; /root/5seconds.sh & sleep 5; /root/5seconds.sh & sleep 5; /root/5seconds.sh & sleep 5; /root/5seconds.sh & sleep 5 

 

//1초 마다 실행

(sleep 1   && wget -O - -q -t 1 http://219.240.39.221/sm_dev/myinc/cron/chk_Sentinel.php) &
(sleep 2   && wget -O - -q -t 1 http://219.240.39.221/sm_dev/myinc/cron/chk_Sentinel.php) &
(sleep 3   && wget -O - -q -t 1 http://219.240.39.221/sm_dev/myinc/cron/chk_Sentinel.php) &
(sleep 4   && wget -O - -q -t 1 http://219.240.39.221/sm_dev/myinc/cron/chk_Sentinel.php) &
(sleep 5   && wget -O - -q -t 1 http://219.240.39.221/sm_dev/myinc/cron/chk_Sentinel.php) &
(sleep 6   && wget -O - -q -t 1 http://219.240.39.221/sm_dev/myinc/cron/chk_Sentinel.php) &

.....

(sleep 60   && wget -O - -q -t 1 http://219.240.39.221/sm_dev/myinc/cron/chk_Sentinel.php) &


파라메터

wget -q --post-data 'pwd=adc123' http://219.240.39.221/sm_dev/myinc/cron/chk_Sentinel.php > /dev/null 2>&1 


- '*' 표시는 해당 필드의 모든 시간을 의미한다.

-  3,5,7 와 같이 콤마(,)로 구분하여 여러 시간대를 지정할 수 있다.
     ex) 10 1,5,7 * * * echo 'Hello'

     매일 1시 10분, 5시 10분, 7시 10분에 실행된다.

-  2-10와 같이 하이픈(-)으로 시간 범위도 지정할 수 있다. 
    ex) 10 1-7 * * * echo 'Hello'

    매일 1시부터 7시까지 매시 10분에(7시 10분 포함)에 실행된다.

-  2-10/3와 같이 하이픈(-)으로 시간 범위를 슬래쉬(/)로 시간 간격을 지정할 수 있다.

    ex) 1-59/3 1-7 * * * echo 'Hello'

    매일 1시부터 7시까지 1분, 4분(1+3), 7분(1+3+3) ... 58분까지 3분간격으로 실행된다.

[출처] Cron으로 초 단위 실행|작성자 yes


+ Recent posts