상세 컨텐츠

본문 제목

Ubuntu (linux) schedule command 예약 작업하는 방법과 명령어 crontab 사용법

Study/Tips

by 휀스 2014. 10. 24. 02:06

본문



Ubuntu (linux) schedule command 예약 작업하는 방법과 명령어 crontab 사용법


윈도우에서는 예약 작업이 아주 손쉽게 되지만 우분투에서 예약 작업을 하는 곳을 못 찾아 헤메다가 구글신의 도움을 받았습니다. 그 방법은 바로 crontab 사용입니다.



일단 crontab 은 GUI 없이 text 편집 만으로 예약 작업이 가능하므로 직관적인 GUI 는 없지만 오히려 간단히 예약작업을 확인하고 새로 만들 수 있는 방법인것 같습니다.


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 에서 예약 작업을 새로 만들려면 -e 옵션을 사용하면 됩니다.

처음 crontab을 사용하면 아래와 같이 editor 를 선택하는 화면이 나옵니다. 가장 쉬운 에디터는 nano 이죠.

조금만 노력하면 손발이 편해지는 vim 도 있지만 crontab 설정하는 정도에는 nano 면 충분 합니다.


$ crontab -e

no crontab for jason - using an empty one


Select an editor.  To change later, run 'select-editor'.

  1. /bin/ed

  2. /bin/nano        <---- easiest

  3. /usr/bin/vim.basic

  4. /usr/bin/vim.tiny


예약 작업을 마치면 -l 옵션으로 작성한 내용을 확인 합니다.


crontab 에서 예약 작업을 보자면 명령어 crontab -l 옵션을 사용하면 됩니다.


$ crontab -l


0 1 * * * ~/bin/autobuild.sh


crontab 은 사용 방법도 아주 간단합니다.


crontab 작성 후 -l 명령으로 보이는 사항들이 crontab 의 사용법 입니다.


MIN HOUR DOM MON DOW CMT 의 형식으로 예약 작업을 만들면 됩니다.


위에 작성한 예제는 매 1시간 마다 ~/bin/autobuild.sh 를 실행한다는 스케쥴 입니다.


1분 마다 실행하게 하려면 * * * * * 이렇게 작성해 주면 되겠죠? 그럼 컴퓨터가 아주 신나게 돌아가겠네요. ^^






여러가지 옵션으로 사용도 가능합니다. 매 10,20,30,40,50,0 분 마다 실행시키고 싶다면 , (콤마)로 구분하여 작성하면 됩니다.


0,10,20,30,40,50 * * * * ~/bin/autobuild.sh


매월 1~10 일까지만 실행 시키고 싶다면


0 0 1-10 * * ~/bin/autobuild.sh


라고 작성하면 됩니다. 직관적이고 간단한 스케쥴 작성 방법입니다.


보다 간단하게 작성하고 싶다면 예약어를 사용하는 방법도 있습니다.


@yearly 0 0 1 1 *

@daily 0 0 * * *

@hourly 0 * * * *

@reboot Run at startup


이와 같은 명령어를


@daily ~/bin/autobuild.sh


와 같은 형식으로 사용하면 되겠죠.







관련글 더보기