크론잡은 CRON이라는 원래 리눅스 또는 유닉스 시스템에서 작동하는 시간에 맞춰 특정 작업을 수행하는 소프트웨어입니다.

원래 크론탭(crontab)이라고 불리우는 크론테이블 작성은 초보자들에게 다소 헷갈리기도 하고 어려운 부분이 있습니다.

그 전에 리눅스 운영체계를 이용하는 것 자체가 장벽이라서 GUI 기반의 크론 서비스가 있다면 참 편하겠죠?

 

무료 작업 예약 스케줄러 cron-job.org 

 

cron-job.org 웹사이트나 스크립트를 1분 마다 또는 1년에 1번까지 유연하게 조정해서 크론 작업을 수행할수있는데 무료로 사용되는 크론 사이트입니다.

단, 크론 작업을 추적하기 위해 회원 가입은 해야한다는 점!

이메일, 이름, 타임존(이 시간을 기준으로 작업이 수행되나, 기본적으로 ip를 기준으로 미리 선택을 해줍니다.)

 

일전에 60분마다 토큰이 갱신되기 때문에 서버에서 주기적으로 토큰을 갱신할 필요가 있었는데요.

그때 크론잡 사이트에서 유용하게 사용했습니다.

지금도 훌륭하게 잘 작동하고 있네요.

 

크론잡 사이트가 콘솔 형태로 개편을 했습니다. 바뀌는 주소는 기존 주소 앞에 console을 붙이면 됩니다.

그럼 크론잡을 한번 만들어 보겠습니다.

 

크론잡 사용법

크론잡을 설정하는 것은 어렵지 않습니다. 그냥 필요한 정보를 드롭다운 메뉴에서 선택하거나 입력하면 됩니다.

아래 따라해보면 됩니다.

 

1. CREATE CRONJOB 클릭

 

상단 메뉴에 크론잡 만들기를 클릭해서 들어가면 아래와 같은 화면이 나옵니다.

 

2. 타이틀 입력하기

 

타이틀은 다른 크론잡과 구분하기 위한 이름으로 본인이 알아보기 쉬운 것으로 하면 됩니다.

작업과 연관된 이름으로 하면 됩니다.

 

3. URL 입력

 

서버에 있는 파일 중 주기적으로 호출을 해야되는 파일의 주소를 쓰면 됩니다.

php 파일이라면, 앞에는 호스트 주소 그리고 디렉토리 및 파일명을 기재하면 됩니다.

 

4. 스케줄러 조정

크론잡의 시간 설정은 분, 일, 달 기준으로 설정하는 것과 커스텀 설정이 있습니다.

기본 매 15분 마다 호출로 설정 되어 있는데, 작게는 1분부터 최대 60분까지 설정할 수 있는데, 시간이 정해져있습니다.

 

크론잡 커스텀 설정에서 다중 기간을 선택하려면 쉬프트 키와 함께 클릭하면 다중 선택이 됩니다.

앱 서비스할때 매일 정해진 시간마다 백업을 하는 등의 이슈가 있을때, 혹은 자료 조사를 자동으로 해야할때 등 본인이 원하는 설정으로 할 수 있는 장점이 있습니다.

 

실행 스케줄 설정 아래보면 crontab 표기가 나옵니다.

위에도 잠시 말씀드렸지만 crontab을 사용하려면 표기 방식을 알아야 하는데, 처음에는 잘 혼동이 되기 쉽습니다.

그럴때 크론잡에서 원하는 스케줄을 만든다음 크론탭 표현 방식만 복사해다가 사용할수도 있습니다.

 

5. 알림 설정

 

크론잡이 좋은 것 중에 하나가 알림 설정을 할 수 있습니다.

크론삽이 실패했을때, 너무 많이 실패하는 경우 크론잡 비활성화, 실패후 다시해서 성공했을때 알림이 오는데요.

알림은 메일로 오며, 메일은 계정 생성시 사용한 이메일로 옵니다.

가끔 작업 관계로 서버가 다운되었을때, 이렇게 알림 매일이 왔었습니다.

 

이렇게 크론잡이 실패하는 경우 다음 실행까지 서비스가 먹통이 되는 경우도 발생할 수 있습니다.

그래서 원래 60분마다 토큰이 갱신이라고 60분으로 맞춰놓지 말고, 30분 정도 또는 20분 정도로 맞춰서 실패하더라도 아직 토큰이 살아있을때 갱신 시도를 한두번 더 할 수 있도록 맞추는 것이 좋은 것 같습니다.

 

크론탭 문법 알아보기

 

편하게 크론잡으로 해도 되지만, 크론탭 문법을 알아두는 것도 좋다고 생각이 듭니다.

크론탭은 5자리로 된 숫자 표시가 있습니다.

 

앞에서부터 분, 시, 일, 월, 주 로 표시가 됩니다.

분과 시는 0 ~ 59분, 0 ~ 23시간으로 표시됩니다.

일과 월은 1 ~ 31일 그리고 1월부터 12월입니다.

마지막으로 주의 경우 0 ~ 6으로 표시되며 일요일부터 토요일까지입니다. 즉, 일요일은 0입니다.

*로 표시되는 것은 all의 의미입니다. 

 

숫자 5자리 다음에는 실행할 명령을 입력하면 됩니다.

0 10 * * * print > hello 매일 오전 10시마다 hello를 프린트함을 의미한다고 보면 됩니다.

 

마무리

 

자동화는 저처럼 조금 게으른 사람들에게 참 유용합니다.

잊고 있어도 때가되면 알아서 해주기 때문인데요.

조금만 생각을 해보면 크론잡을 이용해서 해볼만한게 참 많다는 것을 알수 있습니다.

+ Recent posts