CATEGORY

분류 전체보기 (73)
세상사는이야기 (27)
회사이야기 (7)
친구들이야기 (6)
공부이야기 (33)
개인적인이야기 (0)

RECENT ARTICLE

RECENT COMMENT

ARCHIVE

LINK



 

[ cron 이란 ? ]

 

  특정 시간에 특정한 작업을 수행할 있게 해주는 프로그램이다.

  대부분의 리눅스 배포판에 기본적으로 설치되어 있다.

  내가 만약 매일 새벽 5시에 DB 백업을 받아야 한다고 가정한다면, 매일 DB 백업을

  받기 위해 새벽 5시에 출근할 수는 없는 일이다. 이럴때 CRON 으로 작업을 스케줄링

  으면 cron 데몬이 알아서 백업을 받아준다.

 

[cron 설정하기 ]

 

  RedHat 경우 /etc/crontab 이란 파일있다.

  기본적으로 cron 데몬은 파일을 최초로 읽어 들인다.

 

  [root@soma] vi /etc/crontab

 

  SHELL=/bin/bash

  PATH=/sbin:/bin:/usr/sbin:/usr/bin

  MAILTO=root

  HOME=/

 

  # run-parts

  01 * * * * root run-parts /etc/cron.hourly

  02 4 * * * root run-parts /etc/cron.daily

  22 4 * * 0 root run-parts /etc/cron.weekly

  42 4 1 * * root run-parts /etc/cron.monthly

 

  기본적인 crontab 내용이다.

 

  [] [] [] [] [요일] [실행명령] 형식으로 이루어졌다.

 

  위의 내용을 보면 /etc/crontab 읽어 들이면서 crontab 내용 안의 4 가지 파일을

  설정된 시간에 맞춰서 실행한다.

 

  1. 01 * * * * root run-parts /etc/cron.hourly

     -> 매월,매일,매시,01 분에 /etc/cron.hourly 실행한다.

  2. 02 4 * * * root run-parts /etc/cron.daily

     -> 매월,매일 4 02 분에 /etc/cron.daily 를 실행한다.

  3. 22 4 * * 0 root run-parts /etc/cron.weekly

     -> 매주일요일 4 22 분에 /etc/cron.weekly 실행한다.

  4. 42 4 1 * * root run-parts /etc/cron.monthly

     -> 매월 1 4 42 분에 /etc/cron.monthly 를 실행한다.

 

[ 예제]

 

  매일, 매시간10, 20 분에 /home/imsi/public_html/ 내의 모든 파일 및 디렉토리를

  imsi.tar.gz 파일명으로 압축하고 나서 imsi.tar.gz 파일을 /home/imsi/back 이란

  디렉토리로 이동하는 것을 설정해 보도록 하겠다.

 

  1. /etc/crontab 설정하기

 

     [root@tgs] vi /etc/crontab

 

     SHELL=/bin/bash

     PATH=/sbin:/bin:/usr/sbin:/usr/bin

     MAILTO=root

     HOME=/

 

     # run-parts

     10,20 * * * * root run-parts /etc/cron.hourly

     02 4 * * * root run-parts /etc/cron.daily

     22 4 * * 0 root run-parts /etc/cron.weekly

     42 4 1 * * root run-parts /etc/cron.monthly

 

  2. /etc/cron.hourly 스크립트 만들기

 

     [root@tgs]vi /etc/cron.hourly/imsi

 

     #!/bin/sh

 

     tar cvfz /home/imsi/imsi.tar.gz /home/imsi/public_html/*

     mv /home/imsi/imsi.tar.gz /home/imsi/back/

 

[ 옵션 사용하기 ]

 

  1. crontab -l : 현재 설정되어있는 cron 리스트를 출력한다.

 

  2. crontab -e : 옵션으로도 cron 설정할 수 있다.

 

  3. crontab -r : 옵션은 현재 설정되어있는 모든 cron 설정을 지운다.

                  etc/crontab 설정된 내용은 지워지지 않는다


And