특정 시간마다 환율 정보 목록을 요청하고 그 결과에 따라서 메일을 보내는 작업을 하기 위해 크론탭을 사용해 보았다. 크론탭은 작업 할 내용의 추가, 편집, 삭제를 리눅스 환경에서 진행한다.
처음에 어려울 것 같다는 생각도 했는데 워낙 관련 정보도 많고 api만 잘 작동하면 내가 원하는 시간에 작업 등록만 하면 되어서 문제없이 잘 사용하였다.
유닉스/리눅스 계열에서 특정 시간에 특정 작업을 하는 데몬은 cron(크론)이라고 하고,
이 크론이 언제 어떤 일을 하도록 설정해 특정 파일에 저장한 것을 crontab(크론탭)이라고 한다.
crontab
데몬이 원하는 시간에 원하는 명령을 수행하도록 만든 명령 리스트(텍스트 파일)
우선 Linux 운영체제의 환경이라면(=맥이라면) 기본 내장되어 있기 때문에 따로 설치가 필요 없다.
등록되어 있는 crontab 목록이 출력된다.
crontab -l
텍스트 편집기가 실행되고 에디터를 통해 설정을 변경할 수 있다.
crontab -e
#텍스트 편집기에서 편집모드로 변경 i(nsert) 입력 후 수정
#저장(:wq) 혹은 저장하지 않고 나가기(:q!)
예약된 작업이 모두 삭제된다.
crontab -r
crontab은 작업 스케줄을 구체적으로 지정해 줄 수 있다.
* 사이에 공백으로 5개 값을 구분하여 설정한다.
* * * * * <SHELL_PATH>
#분 시 일 월 요일 <쉘스크립트의경로>
* * * * * sh /root/batch/test.sh
0 15,17 * * * sh /root/batch/test.sh
0 */1 * * * sh /root/batch/test.sh
0 21 * * 1-6 sh /root/batch/test.sh