티스토리 뷰

728x90

리눅스 크론탭은 리눅스 상에서 특정 시간때에 작업을 해야하는경우 사용합니다.

윈도우에는 스케줄러와 비슷합니다.  매 분마다 크론탭에서 확인후에 실행합니다.

 

 

크론탭 편집 ( crontab edit)

$ crontab -e

- 크론탭을 설정할 수 있는 명령어이며, vi 명령어와 비슷합니다.

 

 

 

크론탭 작업내역 출력 ( crontab list )

$ crontab -l

- cat 명령어와 같이 파일을 읽어서 표준출력으로 내용을 보여줍니다. 

 

 

 

크론탭 삭제 ( crontab delete )

$ crontab -r

- 사용하실 일은 거의 없지만 삭제입니다. 삭제보나는 각 행 앞에 #으로 주석처리하시는게 좋습니다.

 

 

 

크론탭 주기 설명

*			*			*			*			*
분(0-59)		시간(0-23)		일(1-31)		월(1-12)		요일(0-7)

- 각 별 위치에 따라 주기를 다르게 설정할수있습니다. 순서대로 분,시간,일,월,요일입니다.

- 일요일 0 , 월요일 1, 화요일 2, 수요일 3, 목요일 4, 금요일 5, 토요일 6, 일요일 7

 

  ex) 매분 실행 * * * * * /home/script/test.sh

  ex) 매주 월요일 5시 30분에 실행은 30 5 * * 1 실행명령문

  ex) 반복 실행 매시간 0분, 20분, 40분  0,20,40 * * * * /home/script/test.sh

  ex) 범위 실행 매일 1시 0분 부터 30분까지 매분 실행  0-30 1 * * * /home/script/test.sh

  ex) 매 10분마다 실행 */10 * * * * /home/script/test.sh

  ex) 5일에서 6일까지 2시,3시,4시에 매 10분마다 실행      */10 2,3,4 5-6 * * /home/script/test.sh

 

 

크론 로깅(cron logging)

* * * * * /home/script/test.sh > /home/script/test.sh.log 2>&1

- 정기적으로 작업을 처리하는경우, 로그를 남기고 싶을때 위와같이 작성하면 됩니다.

  만약에 2>&1을 제거하면 쉘스크립트에서 표준출력내용만 나옵니다.

  리눅스 특수문자출력문 정리는 다음에 하겠습니다.

 

너무 자주실행되고 또한 지속적으로 로깅이 되야하는 로그의 경우는 다음과 같이 사용하면 됩니다.

* * * * * /home/script/test.sh >> /home/script/test.sh.log 2>&1

그러나 로그가 과도하게 쌓이면 리눅스에게 무리가 갈수있으니 가끔씩 삭제 또는 비워주거나 새로운 파일을

만드는것도 하나의 방법입니다.

 

반대로 로그는 필요 없는 크론을 위해선 다음처럼 입력합니다

* * * * * /home/script/test.sh > /dev/null 2>&1

  

크론탭 백업(crontab backup)

혹시 crontab -r을 쓰거나 실수로 crontab 디렉토리를 날려버려서 기존의 크론탭 내역들이 날아갔을때를 

대비하여 주기적으로 백업합시다.

crontab -l > /home/bak/crontab_bak.txt

 

크론탭에 매일 오후 11시 50분에 백업하면 좋겠지요.

50 23 * * * crontab -l > /home/bak/crontab_bak.txt

 

이 글을 작성하면서 크론탭에 대해서 확실히 알아서 좋네요. 

참조 : https://jdm.kr/blog/2

 

 

 

'Linux' 카테고리의 다른 글

Unix/Linux 문자열 패턴 검색(grep)  (0) 2019.05.23
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함