RadarURL
Skip to content
조회 수 1381 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

오늘 이시간에는 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 랑이씀 -


출처 : http://srzero.tistory.com/entry/Cron%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EC%8A%A4%EC%BC%80%EC%A5%B4%EB%9F%AC-%EA%B4%80%EB%A6%AC

?

List of Articles
번호 제목 글쓴이 날짜 조회 수
162 페도라12 yum(rpm)으로 APM 설치 (수호신패치 포함) JaeSoo 2011.06.08 12310
161 특별한 퍼미션 setuid setgid sticky bit JAESOO 2015.05.27 554
160 톰캣(Tomcat) 실시간 로그보기 JAESOO 2015.04.13 1069
159 좀비 프로세스 찾기, 죽이기 JAESOO 2015.05.27 898
158 유닉스 상에서 ls 출력물을 MB 단위로 출력해주는 옵션 JAESOO 2016.05.04 446
157 웹서버 CentOS 6.5 MRTG 설치 JAESOO 2014.12.26 1006
156 올바른 자바 프레임워크 선택하기 JAESOO 2014.05.09 1044
155 안전한 CentOS를 위한 방화벽, 보안 설정 JAESOO 2014.05.26 2093
154 아파치서버 동시접속자수에 따른 메모리 산정 (대략) JAESOO 2015.01.13 1613
153 시스템 관리자가 알아야 할 리눅스 모니터링 툴 20선 (20 Linux System Monitoring Tools Every SysAdmin Should Know) JAESOO 2014.05.29 2301
152 스프링 프레임워크(Spring Framework) 버전(version) 확인하기 JAESOO 2014.05.09 1368
151 스트러츠와 스프링의 비교 JAESOO 2014.05.09 1414
150 쉘 프로그래밍을 이용한 시스템 관리 기법 JAESOO 2016.05.12 540
149 성능 엔지니어링 대한 접근 방법 (Performance tuning) JAESOO 2016.05.05 489
148 리눅스에서 일반 계정으로 httpd 80포트 실행하기 JAESOO 2014.05.26 1106
147 리눅스에서 MYSQL 데이터 디렉토리 변경 JAESOO 2014.06.04 2015
146 리눅스에서 i386,i586,i686, x86의 차이점 JAESOO 2014.05.30 2176
145 리눅스로 MRTG 트래픽분석서버 구축 JAESOO 2014.12.26 730
144 리눅스(Linux)에서 하위 디렉토리까지 파일 찾기, 찾아서 지우기 JAESOO 2015.02.24 1232
143 리눅스(Linux) 디렉토리 구조 JAESOO 2016.10.20 602
Board Pagination Prev 1 2 3 4 5 6 7 8 9 Next
/ 9

PageViews   Today : 6172 Yesterday : 5037 Total : 21962224  /  Counter Status   Today : 5967 Yesterday : 4602 Total : 1188690

Edited by JAESOO

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소