반응형

오늘 이시간에는 cron 데몬을 이용한 스케쥴러 관리에 대해서 알아보도록 하자.

 

우선 Daemon의 정의가 무엇인지를 아는것이 이해의 첫번째 코스인것 같다.

 

[1] Daemon이란?

정의 : OS에서 백그라운드로 구동되고있는 프로세스 를 데몬이라고 부른다.

백그라운드에서 구동중인 데몬의 종류는 여러가지가 있지만, 대표적으로 스케쥴러 관리에 사용되는 데몬이 바로 cron데몬이다.

 

[2] Cron 데몬 설정방법

(1) 일반 User레벨에서의 Daemon 설정방법

- 유닉스계통의 시스템을 처음 Install 하고 나면 User레벨의 Cron은 별도 설정을 해주어야만 등록 가능하다. 등록하는 위치는 아래 경로와 같다.

 

/etc/cron.allow (Cron 사용가능하도록 유저를 등록한다.) 

/etc/cron.deny (Cron 데몬 사용 불가능하도록 유저를 등록한다.)

 

우선 /etc/cron.allow 파일을 새로 만들어서 등록 하도록 하자. 만약 이미 해당파일이 존재한다면 vi 에디터로 수정만 하면 될것이다.

 

 #vim /etc/cron.allow

 

ex ) 아래 예제처럼 엔터값을 넣으면서 입력하면된다.

 

 ==>요렇게 등록하면 된다. 이경우 ddong, dochi 두개의 계정에서 cron 등록 가능하다.

 

(2) Cron 데몬을 하기 위해 Shell Script를 작성하도록 한다. (아래 예제는 7일 단위로 DB를 백업하는 예제이다.)

 

(Shell Script 파일명 : db_cron_backup.sh)

 #! /bin/bash

DATE=`date +%Y%m%d%H%M%S`
HOME="/home/cron/log"
FILENAME="$HOME/BACKUP_SQL_$DATE.sql"

mysqldump -u root -proot1234 dbname > $FILENAME

DEL_TIME=`date --date '7 days ago' +%Y%m%d`
DEL_OBJ_FILE="$HOME/BACKUP_SQL_$DEL_TIME"

rm -rf $DEL_OBJ_FILE*

echo "********************************** AMT DB BACKUP *************************************"
echo "** TIME : $DATE                                                            **"
echo "** FILENAME : $FILENAME   **"
echo "** DELETE FILES : `ls $DEL_OBJ_FILE*`             **"
echo "**************************************************************************************"

 

위의 파일을 이제 Cron 데몬에 등록하도록 하자.

 

(3) Crontab 을 이용한 Cron 데몬 설치

 

(crontab 명령어 기술) 

 Crontab 명령어

설        명 

 #crontab -l

 현재 선택된 cron 데몬의 내용을 보여준다. 

 #crontab -e

 cron 데몬을 등록,수정 할 수 있다. 

 #crontab -r

 cron 데몬을 삭제 할 수 있다. 

 

(crontab 스케쥴러 등록 작성법)

입력 필드 

필드 의미 

범 위 

 1

분 

  0~59 

 2

  0~23

 3

  0~31 

 4

월 

  1~12

 5

요일

  0~7(1=월,2=화,...7=일,0=일) 

 6

실행 명령어

  쉘스크립트 실행명령어를 기록한다.

 

위 쉘 스크립트 의 경우 아래와 같이 등록하도록 한다.

 

(조건)

매일 24시 00분 00초에 실행되도록 한다.

 

(crontab -e 를 실행하여 작성한다)

# 10초단위로 실행된다.
0 0 * * * /home/cron/db_cron_backup.sh >> /home/cron/log/cron_db_backup.log

 

이렇게 하면  끝난다. 다음번에 기회가 생길때 시스템 관리자 관점의 root계정에서의 시스템 크론에 대해서 알아보도록 하자.

 

                                                                                                     - 2012.07.30 랑이씀 -

반응형

+ Recent posts