리눅스 작업스케줄러 crontab 사용법




    crontab이란?

    crontab이란? 리눅스에서는 일반적으로 crons 데몬이 주기적인 작업 실행을 처리합니다

    cron이 시작될 때부터 끝날 때까지 실행되며 cron 설정 파일은 cron table을 줄여서 crontab이라 부르게 됩니다






     리눅스 crontab 개념과 사용법




    우선 crontab을 사용하기 위해서는 crond이라는 데몬이 구동중인지 확인해야됩니다



    crond 데몬 구동 확인

    ps -ef | grep crond
    


    crondl 참조하는 crontab 파일 위치

    /var/spool/cron
    /etc/cron.d
    /etc/crontab
    

    관리자가 직접 지정한 작업들을 설정하며 임의의 사용자 권한으로도 실행할 수 있으며, 시스템 관련 작업들을 등록해 사용하는 곳입니다.






     crontab 이해하기



    /etc/cron.d

    소프트웨어 패키지를 설치할 때 필요한 주기적인 작업을 등록하는 공간으로 사용한다.

    임의의 사용자 권한으로 실행할 수 있다.


    cron의 사용자 제어

    /etc/cron.deny와 /etc/cron.allw 설정파일에서 사용자에 대한 crontab 제어를 관리할 수 있다.


    /etc/cron.allow

    이 허용파일이 있는 경우 파일 내 지정된 사용자만 crontab을 등록할 수 있다

    지정되지 않은 사용자는 crontab 명령을 실행할 수 없다


    /etc/cron.deny

    허용파일이 없는 경우에는 이 거부 파일이 사용된다

    파일 내 지정된 사람을 제외한 나머지 사용자에게 crontab 명령 실행 권한을 준다


    crontab 사용법

    crontab 명령어를 사용하여 작성하는 cron은 개별사용자용 크론이다

    /var/spool/cron 아래에 저장된다.





     crontab 사용하기




    등록 내용의 설정 방법 알아보겠습니다

    crontab -ㅣ : 예약된 작업리스트
    crontab -e : 예약된 작업 수정
    crontab -r : 예약된 작업 삭제
    crontab -u 사용자명 : 루트관리자는 해당 사용자 crontab 파일을 보거나 삭제, 평집 가능
    


    crontab 파일형식

    # .---------------- 분 (0 - 59)
    # |  .------------- 시간 (0 - 23)
    # |  |  .---------- 일 (1 - 31)
    # |  |  |  .------- 월 (1 - 12) OR jan,feb,mar,apr ...
    # |  |  |  |  .---- 요일 (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
    # |  |  |  |  |
    # *  *  *  *  * user-name command to be executed
    
    분 : 0~59
    시간 : 0-24
    일 : 0~31
    월 : 1~12
    요일 : 0~7(0 또는 7=일요일, 1=월, 2=화 . 3=수 , 4=목, 5=금=6, 토7=일)
    사용자명 /etc/crontab , /etc/cron.d에 저장될 경우 필요
    작업명령 실행할 명령을 한줄로 쓴다
    

    *(분) *(시간) * (월) *(요일) *([사용자명]) 실행명령 순으로 설정



    예제)

    50, 5, 3 * * 1-7 root /usr/bin/bin/rdate -s time.bora.net && clock -w 

    월요일에서 일요일까지 매월 매일 3시 5분에서 50분까지 루트 권한으로 시간 동기화 명령어를 실행합니다

    * :범위 내 모든 경우

    숫자 : 정확이 일치하는 그 시각, 날짜

    '-' 기호로 연결된 두 숫자 : 두 숫자 사이에 포함된 범위를 뜻환

    , (컴마)로 구분돼 나열된 숫자 : 나열된 숫자 중 일치하는 경우를 뜻한다


    Posted by Server-talk 서버이야기