Java / / 2022. 4. 25. 10:23

[Linux] 크론탭, Crontab 설정

반응형

크론댑은 윈도우에서 스케줄러와 비슷하다고 보면 된다.

Crontab 기본 명령어

1. crontab에 정의되어 있는 스케줄을 확인한다.

$ crontab -l

2. crontab 스케줄을 추가한다.

  • 아래의 명령어 입력 시 편집 창으로 이동되고 vi 편집기와 동일하게 i를 누른 후 스케줄 정보를 입력
  • 스케줄 정보 입력 완료 후 esc를 누르고 :wq를 이용해서 crontab 스케줄을 갱신
$ crontab -e

3. crontab 주기를 설정한다.

  • 요일에서 0과 7은 일요일이고, 1부터 6은 월요일입니다.
* * * * * 
분(0-59) 시간(0-23) 일(1-31) 월(1-12) 요일(0-7)

4. jar 파일, sh파일 등 원하는 파일의 권한을 설정한다.

- chmod 775 000.jar

- chmod 775 000.sh

 

5. crontab 등록

  • 2번의 방법을 통해 vi 편집기와 동일하게 편집한다.
0 11,13,15 * * * /modelbuilder/yes3kwindy.sh > /modelbuilder/logs/yes3kwindy.sh.log 2>&1 
*/10 7,9,11 * * * /modelbuilder/ww3windy.sh > /modelbuilder/logs/ww3windy.sh.log 2>&1
*/10 7,9,11 * * * /modelbuilder/wrfwindy.sh > /modelbuilder/logs/wrfwindy.sh.log 2>&1
0 1,3,5 * * * /modelbuilder/mohidwindy.sh > /modelbuilder/logs/mohidwindy.sh.log 2>&1
0,30 * * * * /modelbuilder/mbhfradarwindy.sh > /modelbuilder/logs/mbhfradarwindy.sh.log 2>&1

※ 참고 : 크론 로깅(cron logging)

크론탭을 사용해서 정기적으로 작업을 처리하는 경우, 해당 처리 내역에 대해 로그를 남기고 싶을 때가 있을 것이다. 그럴 때 다음처럼 사용한다.

 

지속적으로 로그를 남기는 방법이다.

0 11,13,15 * * * /test.sh >> /test.sh.log 2>&1

로그가 과도하게 쌓이는 것을 막는 방법이다.

0 11,13,15 * * * /test.sh > /test.sh.log 2>&1

 

6.  크론탭 서비스 재시작

  • systemctl  명령어를 통해 서비스 상태 확인 및 재시작 필수이다.
systemctl restart crond.service

 

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유