본문 바로가기
SW Developer/Server

[서버관리] 우분투 Ubuntu Crontab -e 를 명령어를 통한 실행 및 설정

by ashespia 2020. 11. 18.
SMALL

예전에는 서버관리 프로그램이었는데

요즘은 서버관리 솔루션이 보편화되었다.

APM 서버 등등이 모두 잘 관리해 준다. 이런 서버관리 전용 랭귀지들도 많고 서버의 중요도와 비중은 4차 산업혁명 및 클라우드 시대에 더욱 더 중요해지고 있다.

 

클라우드 기반의 AMAZON AWS 나 Microsoft Azure 등등을 사용하는 경우 자체적인 서버 솔루션들을 사용할 수 있다.

 오픈 소스로 유명한 강글리아 (Ganglia)나 나기오스 (Nagios) 등 유명한 솔루션 들도 있다. 

 

그렇지만 우리에겐 아직도 고전인 crontab을 통해 쉽고 반복적인 일을 수행할 수 있다.

 

예를 들어 crontab을 통해서 정기적인 서버 데이터 백업, 서버 상태 체크, 동작 리포트 등을 shell script등을 통해 설정할 수 있다. 돈을 버는 시스템을 구축하듯 내가 자고 있어도 알아서 돌아가고 체크해주는 놀라운 기능이다.

 

Welcome to Ubuntu 16.04.4 LTS (GNU/Linux 4.4.0-128-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage New release '18.04.5 LTS' available. Run 'do-release-upgrade' to upgrade to it.

 

우분투 버전이 많이 업그레이드 되었지만 사내에서 오래전에 세팅해서 쓰고 있는 우분투 Ubuntu 16.04.4 LTS에서 설정화면 예를 들겠다.

 

Crontab 명령어 사용법

usage:  crontab [-u user] file
        crontab [ -u user ] [ -i ] { -e | -l | -r }
                (default operation is replace, per 1003.2)
        -e      (edit user's crontab)
        -l      (list user's crontab)
        -r      (delete user's crontab)
        -i      (prompt before deleting user's crontab)

 

 

 

Crontab 명령어 사용방법

 

crontab -e 명령어 실행을 통해 작업을 등록해 보겠다.

 

 

 

 

Crontab 기본 설정 방법

*(분) *(시) *(월의날짜) * (1년중달) *(0~6까지 요일 토요일이 6) 실행할 명령어

 

각자리 숫자 입력 방식

 

1분마다 실행

* * * * *

 

 

 

매시간 30분에 실행

30 * * * * *

 

 

 

매일 3시 실행

0 3 * * * 

 

 

 

매달 15일 3시에 실행

0 3 15 * *

 

 

 

매년 12월 25일 3시에 실행

0 3 25 12 *

 

 

 

매주 토요일 3시에 실행

0 3 * * 6

 

 

 

 

슬래쉬 명령어로 분과 시간 단위 간격으로 실행 방법

 

10분 간격으로 실행

*/10 * * * *

 

 

6시간 간격으로 실행

0 */6 * * *

 

 

 

 

콤마를 통해 지정해서 실행

만약 하루 2번만 다른 시간에 설정하고자 하는 경우  콤마(,) 기호를 사용해서 설정할 수 있다.

 

아침 7시 저녁 5시에 실행하고자 하는 경우

0 7,17 * * *

 

crontab 에서 콤마 기호를 통해 매주 2번 실행 하도록 하고자하는 경에도 사용 가능하다.

 

매주 수요일과 일요일 새벽 3시에 실행하고자 하는 경우

0 3 * * 0,3 
LIST

댓글