맥/리눅스에서 반복작업은 crontab으로

     

    crontab 사용법

    맥/리눅스 사용자라면, 이미 crontab에 대해 익숙할 것이다.

    내 PC, 맥북, 서버 등에서 반복되는 시스템 작업을 스케쥴을 세워놓고 규칙적으로 실행시키려면 crontab은 필수 프로그램이 될 것이다.

    본 글에서는 crontab의 기본적인 사용법에 대해 정리하고자 한다.

     

    기본 사용법

    crontab에 등록되어 있는 태스크들을 cron job이라고 부른다.

    본 섹션에서는 cron job 확인하기, 등록/편집하기, cron job의 일정관련 설정 방법 등에 대해 살펴보자.

     


     

    cron job들 확인하기

    $ crontab -l

    crontab -l (엘) 옵션을 지정하면, 현재 내 PC/서버에 지정되어 있는 cron job 목록을 확인할 수 있다.

    만약, 정상적으로 등록/편집한 작업이 제대로 반영이 되어 있는지 확인하려면, 이 명령어로 확인할 수 있다.

     

    cron job 등록/ 편집하기

    새로 cron job을 등록하거나, 기존에 설정한 작업을 편집/ 삭제하려면 다음의 명령어를 실행하자.

    $ crontab -e

    이 명령어를 실행하여, crontab의 내용을 편집할 수 있다.

    기존에 실행되던 job을 없애려면 해당 줄을 삭제하거나, 주석 처리해주고 저장해주면 된다.

    기존 cron job을 주석처리하려면, 맨 앞에 #(샵)을 붙여주면 주석처리 할 수 있다.

    vi 에디터를 사용중이라면, esc 키 -> :wq!를 누르면 편집 완료/저장된다.

     

    cron job 명령어 형식

    cron job의 명령어 형식은 아래와 같다.

    분 시 일 월 요일 실행명령어

    특히 분, 시, 일, 월, 요일 부분에 대해 살펴보자.

    * 분: 0-59
    * 시: 0-23
    * 일: 1-31
    * 월: 1-12
    * 요일: 0-7 (0 또는 7은 일요일)

    그 뒤에 실행명령어는 실제 긴 명령어일 수도 있고, 이미 실행 내용이 작성된 shell 자체일 수도 있다.

    이 shell을 실행시키려면, 절대경로를 명시해 주자.

    shell을 작성하는 경우,

    #!/bin/bash

    과 같이, 실행하는 shell을 반드시 지정해 준다.

     

    반응형

     

    예제

    특히 시간과 관련된 활용 시나리오를 아래의 예제로 확인해 보자.

    5 0 * * * : 00시 05분에 실행
    15 14 1 * * : 매월 1일 14:15에 실행
    0 22 * * 1-5 : 매주 월-금 22:00에 실행
    23 0-23/2 * * * : 자정 이후 2시간 마다 23분에 실행 - 00:23, 02:23, 04:23 등

    특히 나누기 연산의 경우, 일일이 나열하는 수고를 덜어준다.

    10, 20, 30, 40 등과 같이 나열하는 대신, /10으로 표시할 수 있다.

    댓글

    Designed by JB FACTORY