바쁜 일정으로 글 하나 올리가가 힘이드네요 (풋 핑계)

누가 말했나요 팀장이 구만둬야 팀장이 될수 있다고 ... 제가 그런꼴이네요 팀원도 없는 팀의 팀장 자리를 딱 차고 있습니다.

오늘은 crontab 요녀석 잘 만쓰면 정말 유용합니다잉.  요녀석 한번 파헤쳐 보겠습니다. 잉~


1. crontab 은 무엇인가?

유닉스계열의 시스템에서 batch job을 돌릴때 사용한다. 어떤 작업을 하는 shell script 작성한 후에 crontab에 일정을 등록하면 정해진 시간에 자동으로 실행한다. 라고 말을 많이 합니다.
쉽게 말하면 타이머 맞춰놓고 script 실행하는 명령어 입니다.

2. 현재 crontab에 등록된 리스트 보기

# crontab -l       현재사용하고 있는 crontab 파일 출력
# crontab -l
0 4 * * * /cron_service/cron.sh

3. chrontab 등록/수정

# crontab -e       crontab 파일의 수정(edit)
# crontab -e
0 4 * * * /cron_service/cron.sh

4. chrontab 작성

# crontab -e 들어가신 후
내용에 맞게 수정 또는 추가 하신 후 저장하시면 됩니다.
# crontab -e
  * * * * * /cron_service/cron.sh

*cronjob은 공백이나 탭키로 분리되는 6개의 필드(*)가 있습니다

1번필드 : 시간(분)
2번필드 : 시간(시간)
3번필드 : 일자
4번필드 : 월
5번필드 : 요일(0:일요일, 1:월요일, 2:화요일….)
6번필드 : 실행할 명령이나 스크립트
(5번필드 이후의 모든 문자는 공백이나 탭키와 상관없이 모두 6번필드로 인식함)

*cron table의 각 필드
| 분 | 시간 | 날짜 | 달 | 요일 | 사용자 | 명령 |

minute(0~59) hour(0-23) day(1-31) month(1-12) weekday(1-7) command
<분>은 0-59  <시>는 0-23  <날짜>는 0-31  <달>은 0-12(0또는 12는 12월, 1은 1월...) <요일>은 0-7(0과 7은 일요일, 1은 월요일...)
''*''  :  everytime
''-''  :  범위 지정, 예를 들어 시간 필드에 1-3이면 1시와 3시 사이
'',''  :  separator, 예를 들어 시간 필드에 1,3이면 1시와 3시
/   :  시간필드 에서 23-7/2라면 23시부터 07시까지 매 2시간마다라는 의미
      분필드에서 */2라면 매 2분마다라고 해석하면 된다.

5. crontab예제

예제 1) 매월 매일 모든요일 06:00시에 /usr/local/bin/test.sh를 실행
  00 06 * * 0-6 /usr/local/bin/test.sh >> /dev/null

예제 2) 1분간격으로 /usr/local/bin/test.sh를 실행
  * * * * * /usr/local/bin/test.sh >> /dev/nulll

예제 3) 10분간격으로 /usr/local/bin/test.sh를 실행
  */10 * * * * /usr/local/bin/test.sh >> /logs/test.log

예제 4) 매주 월요일 오전 05시 30분에 ~/bin/backup.sh을 실행
  30  05 *  *  1    ~/bin/backup.sh

예제 5)  매월 1일 새벽 2시 30분에 ~/bin/backup.sh를 실행
  30  2  1  *  *    ~/bin/backup.sh

예제 6)  매일 새벽 01시 20분에 3일간 접근하지 않은 /tmp내의 파일을 삭제
  20  1  *  *  *    find /tmp -atime +3 -exec rm -f () '';''



6. cron table을 삭제

# crontab -r : 현제 cron table을 삭제 하니 조심하시요 ^^!!



이로써 crontab 정복 하셨습니다.

crontab을 정복하신 당신은 개발자임다 잉~~

열심히 테스트 하고 연마하셔서 진짜 개발자가 되시기 바랍니다.

다음 시간에 봐요 ~~~

설정

트랙백

댓글

  • 2013.11.13 10:29 답글 | 수정/삭제 | ADDR

    비밀댓글입니다