Contents

Develop
2013.04.23 15:19

[linux] crond 사용법.. ㅋㅋ

조회 수 7244 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
cron 을 이용하여 작업스케줄링을 하면 여러가지 
번거러운 작업들을 손쉽게 할 수 있습니다. 
즉, 귀찮은 일은 컴터에게........^^ 

crontab 에 명령을 넣는 포멧은 

minute hour daay month dayofweek command 입니다. 

그리고 다음과 같이 필드를 채우면 됩니다. 

분(0부터 59까지) 
시(0부터 23까지) 
일(1부터 31까지) 
월(1부터 12, 혹은 jan, feb와 같은 형식으로도 기입가능) 
요일(0부터 6, 0이 일요일이며 mon, tue와 같은 형식으로도 기입가능) 
명령(복수 단어도 가능) 

예를 들어 

0 1 * * * find /tmp -atime +3 -exec rm -f {} \; 
-> 이것은 매일 오전 1시에 명령을 실행 시키라는 것으로 
* 는 매일 매월 의 주어진 시간을 의미합니다. 

0 1 1 * * find /tmp -atime +3 -exec rm -f {} \; 
-> 매달 1일 오전 1시에 실행 

0 1 * * mon find /tmp -atime +3 -exec rm -f {} \; 
-> 매주 월요일 1시에 실행 

0 1 1,15 * * find /tmp -atime +3 -exec rm -f {} \; 
-> "," 는 매월 1 일과 15 일 오전 1시에 실행 

0 1 15-30 * * find /tmp -atime +3 -exec rm -f {} \; 
-> "-"하이픈은 매달 15일 부터 30 동안 실행 

0 1 */5 * * find /tmp -atime +3 -exec rm -f {} \; 
-> / 는 매 5일 마다 실행 즉, 1일 6일, 11일, 16일 .... 

<< 
find /tmp -atime +3 -exec rm -f {} \; 명령은 
/tmp 디렉토리 안에 접근 시간이 3일 이상 파일을 찾아 
-exec 에서 할당한 명령 rm -f 과 함께 실행 하라는 의미입니다. 
\; 는 -exec 옵션의 끝을 의미 합니다. 
>> 

이런식 입니다. 


cron 을 사용하는 방법에서 두가지가 있습니다. 

첫째로는 주로 시스템 관리의 목적으로 사용되는 것으로 

/etc 밑에 cron.daily cron.hourly cron.monthly cron.weekly 

각 디렉토리에 실행 스크립트를 만들어 넣는 것입니다. 
vi logback 

tar xvzf log.tgz /var/log ;mv log.tgz /home/back 

이런 스크립트에 chmod +x logback 으로 실행권한을 주고 cron.daily 
, cron.weekly 등의 디렉토리에 넣으면 됩니다. 

이들 디렉토리에 있는 스크립트의 실행은 /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 

run-parts 가 의미하는 것은 /etc/cron.daily 에 있는 스크립를 실행 하라는 
의미입니다. 보통 4시가 되면 컴퓨터가 시끄러워 지는 이유는 이들 
스크립트가 실행되기 때문입니다. 

두번째 방법은 

crontab 유틸리티를 이용하는 것입니다. 

crontab -e : 작업할 내용 작성하기 
crontab -l : 현재 설정되어 있는 작업내용 보기 
crontab -r : 설정되어 있는 작업을 모두 삭제하기 

매일 아침 6시에 xmms 를 실행해 알람 효과를 낼려면 

$crontab -e 
0 6 * * * xmms getup.m3u 

하면 되겠지요.. 효과 만땅 입니다..^^ 

[wizard@osbox wizard]$ crontab -l 
# DO NOT EDIT THIS FILE - edit the master and reinstall. 
# (/tmp/crontab.3616 installed on Sat Nov 24 19:01:27 2001) 
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $) 
0 6 * * * xmms /music/getup.m3u 
[wizard@osbox wizard]$ 

이것은 각 계정 사용자도 사용할 수 있습니다. 

각 계정 사용자의 cron 파일은 

/var/spool/cron/ 이나 /var/spool/cron/crontabs/ 에 각 사용자명으로 만들어 집니다. crond 데몬이 이 파일을 규칙적으로 읽어 적절한 시간에 명령을 실행 합니다. 

실제로 cron 이라는 명령은 없으며 crontab 유틸리티와 crond 데몬이 있을 뿐입니다.


?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
525 Develop [winmobile] 윈도우 모바일 간단한 테스트 코드 ㅋㅋ file hooni 2013.04.23 17081
524 Develop [ios] iOS 4.0 beta 에서 3.1.3으로 다운그레이드 하는 법 file hooni 2013.04.23 37495
523 Develop [c] 메시지큐(Message Queue) 설명.. (joinc) hooni 2013.04.23 14259
522 Develop [android] 단일 Thread 환경의 안드로이드에서 Handler를 사용 file hooni 2013.04.23 26491
521 Develop [android] 점심 해결 앱 소스 코드 ㅋㅋ file hooni 2013.04.23 76393
520 Develop [ios] 한샘 카달로그 앱 소스 (아이폰용) secret hooni 2013.04.23 10922
519 Develop [android] 화면 전환(가로/세로)시 설정 hooni 2013.04.23 43369
518 Develop [android] 멀티터치(Multi touch) 부분 구현 ㅋㅋ file hooni 2013.04.23 27413
517 Develop [html] HTML5 튜토리얼 링크 ㅋㅋ hooni 2013.04.23 12809
516 Develop [android] 해상도 관련 팁 (dip -> pixel 변환) hooni 2013.04.23 15329
515 Etc [ios] 아이폰 개발 따라하기 ㅋㅋㅋ hooni 2013.04.23 23298
514 Develop [android]개발 가이드 및 한글화 문서 file hooni 2013.04.23 47512
Board Pagination Prev 1 ... 50 51 52 53 54 55 56 57 58 59 ... 98 Next
/ 98