RadarURL

유닉스/리눅스
2014.11.18 19:08

리눅스 스케줄 설정 crontab

조회 수 799 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

1시간 마다 /root/test.php 를 실행하도록 설정하는 예)

 

01 * * * * root /root/test.php

 

/etc/crontab 에 위 라인을 추가하고

 

/etc/init.d/crond restart

 

하면 한 시간마다 실행됩니다.

////////////////////////////////
cron 설정하기
* * * * * 실행파일
순서대로 분 시 일 월 요일 실행파일
분 : 0-59 
시 : 0-23
일 : 0-31
월 : 0-12
 요일 : 0-6 : (일-토 : 0과 7은 일요일이며 1부터 월요일이 시작된다.)

* : 모든 시간대에 실행이 된다.
예> * * * * * 실행파일 : 매분마다 실행한다.

- : 기간을 범위지정한다.
예> 10-20 1 * * * 실행파일 : 매일 새벽 1시 10분부터 20분까지 1분마다 실행한다.
예> 10-20,30-40 1 * * * 실행파일 : 매일 새벽 1시 10분부터 20분까지 1분마다 실행된 후 30분부터 40분까지 1분마다 실행한다.

, : 기간을 지정한다.
예>* 10,14,17 * * * 실행파일 : 매일 10시, 14시, 17시에 실행한다.

/ : 간격을 지정한다.
예> */3 * * * * 실행파일 : 매 3분마다 실행한다.

사용 예>
*/3 * * * * root /usr/local/apache2/bin/php -q 실행파일 > 20120302.log &
: root 권한으로 매3분마다 백그라운드로 실행하고 로그파일을 남긴다.

참고> 만약 중복되게 지정하면 중복으로 실행한다.
예> 30 10 10,15 * 1 실행파일 : 매달 10일, 15일 10시 30분에 실행, 매주 일요일에도 실행한다.

주의> crontab 설정을 변경한 후에는 cron 서비스를 재시작해야한다.
]# service crond restart


/////////////////////////////////////////////////


- 시스템의 주기적인  cron 작업의 설정, 수정등을 하는 명령어
  - 시스템에서 가장 중요한 데몬중의 하나인 crond 와 직접적인 관련이 있는 명령어
  - crond 데몬은  /etc/rc.d/init.d/crond 의 스크립트에 의해 시작, 종료, 재시작될수 있음

  - crond 데몬
     - /etc/crontab 파일
     - /etc/rc.d/init.d/crond 스크립트
     - /var/spool/cron 디렉토리내의 크론설정파일들

 

 

명령어 위치 : /usr/bin/crontab
사용형식     : crontab [ -u 사용자id ] 파일
                   crontab [ -u 사용자id ] { -l | -r | -e }

 

cat /etc/crontab
매시 1회 자동실행하기 위한 시스템 크론 설정

01 * * * * root run-parts /etc/cron.hourly
  - 매일 매시 01분마다 /etc/cron.hourly 디렉토리내에 존재하는 파일들을 실행


매일 1회 자동실행하기 위한 시스템 크론설정

02 4 * * * root run-parts /etc/cron.daily
 - 매일 새벽 4시 02분마다 /etc/cron.daily  디렉토리내에 존재하는 파일들을 실행

 

매주 1회 자동실행하기 위한 시스템 크론설정

22 4 * * 0 root run-parts /etc/cron.weekly
 - 매주 일요일 새벽 4시 22분마다 /etc/cron.weekly 디렉토리내에 존재하는 파일들을 실행

 

매월 1회 자동실행하기 위한 시스템 크론설정

42 4 1 * * root run-parts /etc/cron.monthly
 ->매월 1일 새벽 4시 42분마다 /etc/cron.monthly 디렉토리내에 존재하는 파일들을 실행


* root 이외의 사용자에게 crontab 명령어를 이용할 수 있게 하는 방법

  - /etc/cron.allow 파일에 사용자의 id를 등록


* 일반사용자의 crontab 명령어사용을 제안하고자 한다면
  - /etc/cron.deny 파일에 사용자의 id 를 등록


 

* cron 설정하는 방법

 40 3 * * * root /home/mysql/mysql_backup.sh

 

 맨 앞의 40은 40분을 의미함 (분을 의미:0~59)

 그 뒤의 3은 03시를 의미함 (시를 의미:0~23)

 그 뒤의 * 은 매일을 의미함 (일을 의미:1~31)

 그 뒤의 * 은 매월을 의미함 (월을 의미:1~12)

 그 뒤의 * 은 매주를 의미함(요일을 의미 1:월요일~7:일용일)

 그 뒤의 root /home/mysql/mysql_backup.sh 는 root  계정으로 mysql_backup.sh을 실행하라는

 의미

 

 * 문자 : 각 필드에 해당하는 모든 숫자를 의미

 - 문자 : 각 필드자리에 하이픈 문자가 올수 있음

   ex) 일 필드자리에 11-15 (11,12,13,14,15일을 의미)

 ,문자 : 각 필드자리에 콤마문자가 올수 있음

   ex) 일 필드자리에 1,11,21 (1일,11일 21일을 의미)
/////////////////////////////////////////////////////////////////////

59 * * * * su - oracle -c "sh /data4/BACKUP/HOTBACKUP/1HOUR_ARCH_BACKUP.sh"

/////////////////////////////////////////////////////////////////////////////////
[HP_UX]crontab

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

◎ 범례

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


   굵은문자 : Reserved Word (UNIX 예약어)
   가는문자 : User Define (사용자가 직접 입력해야 하는 부분)
   [ ] : Option (지정하지 않아도 되거나 생략시 기본 설정값으로 대체됨)
   or, | : Choice(여러가지중 하나를 선택한다)

   윗글자 :  ¹ ² 등은 하단의 참조

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

◇ FORMAT

─────────────────────────────────────────────

crontab [-e|-l|r] [username]

-e : crontab을 추가/수정삭제 한다
     cron에 새로운 작업을 추가하거나 추가된 작업의 수정, 삭제를 위하여 사용된다.
     기본적으로 vi Editor를 사용한다.

-l : crontab의 내용을 보여준다

-r : crontab파일을 삭제한다.

username : 사용할 crontab 사용자
           보통의 경우는 해당 아이디로 로그인 후 crontab을 사용하므로 거의 생략됨
           root의 경우 사용됨

 

◆ 참고

─────────────────────────────────────────────

crontab 파일 구조


crontab파일은 "분 시 일 월 주 실행명령"의 형태로 구성되어있다
값을 주지 않을 경우 * 로 표시한다.

 

* * * * * Execute-Command
┬ ┬ ┬ ┬ ┬ ┬
│ │ │ │ │ └─실행할 명령어
│ │ │ │ └─── 실행할 요일 (0:일요일, 1:월요일, 2:화요일...6:토요일)
│ │ │ └───── 실행할 월   (1 ~ 12)
│ │ └─────── 실행할 일   (1 ~ 31)
│ └───────── 실행할 시간 (0 ~ 23)
└─────────── 실행할 분   (0 ~ 59)

 

각 구성은 콤마(,)를 사용하여 여러개를 줄 수 있다
예륻 들어 분을 30분 단위로 하고자 한다면 0,30 과 같이 줄 수 있다

 

※ 자바(Java)를 클론(cron)으로 실행하는 경우 등은 실행 명령어를 담은 Shell Script를
   작성하여 실행명령에 넣어야 한다.

 

※ HP-UX cron 관련 파일

 

     /var/adm/cron                      Main cron directory
     /var/spool/cron/atjobs          Directory containing at and batch job files
     /var/spool/cron/crontabs      Directory containing crontab files
     /var/adm/cron/log                Accounting information(실행 로그)

 

◆ 예제

─────────────────────────────────────────────

예1) 0,30 * * * * /user/ghi/test.sh

     : 매시간 0분, 30분에 test.sh를 실행 시킨다. (1시간에 2번 실행된다.)

 

예2) 30 * * * * /user/ghi/test.sh

     : 매시간 30분에 test.sh를 실행 시킨다. (1시간에 1번 실행된다.)

 

예3) 30 13 * * 6 /user/ghi/test.sh

     : 매주 토요일 오후 1시 30분에 test.sh를 실행 시킨다

 

예4) 30 0 1 1,4,7,10 * /user/ghi/test.sh

     : 매년 1,4,7,10월의 1일 0시 30분에 test.sh를 실행 시킨다
       (분기별 마감 등의 작업에 사용될 수 있다)
////////////////////////////////////////////////////////////////////////////////////////////////////

로그 남기기

stdout으로 화면에 출력되는 모든 로그를 남길 때.

'>'를 쓰면 매번 새로 기록(overwrite),
'>>'를 쓰면 기존 파일에 append가 됨


crontab 예제
crontab -e를 통해 아래의 명령을 크론테이블에 추가시킴.

 

매월매일 모든요일 06:00시에 /usr/local/bin/test.sh를 실행

    00 06 * * 0-6 /usr/local/bin/test.sh >> /dev/null

">> /dev/null"는 cron중 발생하는 로그를 버리도록 지정


1분간격으로 /usr/local/bin/test.sh를 실행

    * * * * * /usr/local/bin/test.sh >> /dev/null

 

10분간격으로 /usr/local/bin/test.sh를 실행

    10,20,30,40,50,60 * * * * /usr/local/bin/test.sh >> /logs/test.log

">> /logs/test.log"는 cron 실행중 발생한 로그를 test.log 파일에 append 시킴


출처 : http://zeronica.tistory.com/105

?

공부 게시판

공부에 도움되는 글을 올려주세요.

  1. [공지] 공부 게시판 입니다.

    Date2003.08.18 By처누 Views928199
    read more
  2. [apache] HTTP/HTTPS 리다이렉트(Redirect/Rewrite) 하는 방법

    Date2025.09.11 Category웹서버,WAS ByJaeSoo Views17
    Read More
  3. http를 https로 리다이렉트하는 여러가지 방법

    Date2025.09.10 Category웹서버,WAS ByJaeSoo Views17
    Read More
  4. SSL인증서 없이 HTTPS에서 HTTP로 되돌리기

    Date2025.09.10 Category웹서버,WAS ByJaeSoo Views21
    Read More
  5. [SSL] win-acme, Let's encrypt로 무료 SSL 인증서 발급

    Date2025.09.10 Category웹서버,WAS ByJaeSoo Views16
    Read More
  6. [SSL] Windows 10에서 Let's Encrypt로 SSL 인증서 무료 발급받기

    Date2025.09.10 Category웹서버,WAS ByJaeSoo Views17
    Read More
  7. 무료로 https SSL/TLS 인증서를 발급받을 수 있는 인증 기관

    Date2025.09.10 Category웹서버,WAS ByJaeSoo Views15
    Read More
  8. 아파치 서버에 https SSL 인증서 적용하는 방법 (apache httpd)

    Date2025.09.10 Category웹서버,WAS ByJaeSoo Views16
    Read More
  9. 아파치2(Apache2) SSL HTTPS 적용하기

    Date2025.09.10 Category웹서버,WAS ByJaeSoo Views14
    Read More
  10. 아파치 웹서버에 멀티 도메인에 대한 80, 443 포트 설정하는 방법

    Date2025.09.10 Category웹서버,WAS ByJaeSoo Views25
    Read More
  11. Google Photo 대신 Immich를 써보자

    Date2025.08.07 Category소프트웨어 ByJaeSoo Views150
    Read More
  12. 남자 혹은 여자 진국 팁

    Date2025.07.24 Category연애 ByJaeSoo Views132
    Read More
  13. MBTI검사 16가지 유형 “간단 명료”하게 정리!

    Date2025.07.01 Category기타 ByJaeSoo Views155
    Read More
  14. [사진관리] PhotoPrism vs LibrePhoto 비교 소감

    Date2025.05.19 Category소프트웨어 ByJaeSoo Views28
    Read More
  15. MDF실, TPS실, EPS실 이게 뭘까?

    Date2025.04.15 Category네트워크 ByJaeSoo Views52
    Read More
  16. 알아두면 좋은 직장인 용어 정리

    Date2025.04.15 Category업무 ByJaeSoo Views54
    Read More
  17. 감기·독감·코로나19의 차이점, 신촌연세병원과 함께 알아봅시다.

    Date2025.01.08 Category건강 ByJaeSoo Views35
    Read More
  18. 집주인이 전세 보증금을 돌려주지 않을 때

    Date2024.11.29 Category생활 ByJaeSoo Views26
    Read More
  19. 자전거 타이어 종류 및 추천 2편 (승차감 타이어, 국토종주!)

    Date2024.10.15 Category자동차 ByJaeSoo Views53
    Read More
  20. 오도바이 센타 사장들은 어떤 브랜드를 싫어하고 좋아할까? [출처] 오도바이 센타 사장들은 어떤 브랜드를 싫어하고 좋아할까?|작성자 바이크신

    Date2024.10.15 Category자동차 ByJaeSoo Views85
    Read More
  21. 윈도우 자동 로그온 설정이 보이지 않을 때 조치사항

    Date2024.08.16 Category윈도우즈 ByJaeSoo Views203
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 124 Next
/ 124


즐겨찾기 (가족)

JAESOO's HOMEPAGE


YOUNGAE's HOMEPAGE


장여은 홈페이지


장여희 홈페이지


장여원 홈페이지


즐겨찾기 (업무)

알리카페 홀릭

숭실대 컴퓨터 통신연구실 (서창진)

말레이시아 KL Sentral 한국인 GuestHouse


즐겨찾기 (취미)

어드민아이디

유에코 사랑회

아스가르드 좋은사람/나쁜사람

JServer.kr

제이서버 메타블로그

재수 티스토리


즐겨찾기 (강의, 커뮤니티)

재수 강의 홈페이지


한소리


VTMODE.COM


숭실대 인공지능학과


숭실대 통신연구실


베너