crontab을 이용해 주기적으로 웹 페이지에 요청하기
길고 길었던 nginx + crontab의 나날들이 끝났다.. 드디어 되는구나!
crontab을 이용하기 전 주기적으로 작업할 스크립트 만들기
리눅스 - 쉘 기반 스크립트를 짜봅시다. 나는 데이터가 중요한 게 아니라 요청이 중요했기 때문에 스크립트가 짧다.
#!/bin/bash
curl http://localhost:8080
nginx을 이용해 구동되고 있는 서버 포트가 8080이므로 해당 포트로 curl, get 명령을 보냄.
요청만 보내서 뭘 하나 싶으면.. 이전 포스팅을 참고해주세요.
crontab 설정
우선 크론탭을 이용하기 전에 깔려있는 지 확인하자. 만약 깔려있지 않다면 bash apt-get install cron
을 입력해 깔면 된다.
크론탭이 깔렸다면 crontab -e
명령어를 이용해 크론탭 내용을 기록하러 이동한다.
만약 처음 크론탭을 실행하면 편집기를 고르라는 내용이 콘솔에 출력될 수 있다. 본인이 편한 편집기를 쓰자. 나는 vim을 이용했다.
크론탭에는 여러 주석이 있을텐데 주석은 건드리지 말고 아래에다 내용을 기록하자.
*(분 : 0 ~ 59) *(시 : 0 ~ 23) *(일 : day of month, 1 ~ 31) *(달 : 1 ~ 12) *(요일 : 0 ~ 7) 파일경로/실행할 스크립트 파일
이렇게 기록하면 된다.
예 : 30 12 7 10 2 curl.sh => 10월 7일 화요일 12시 30분에 curl.sh 스크립트를 실행하자.
몇 가지 주의할 사항이 있다.
- 파일 경로는 유저 폴더 내에 있어야 한다. 나는 home/유저명/스크립트파일로 실행했다.
- 스크립트 파일 복사를 하지 말자. 조금 번거롭더라도 편집기로 새 파일을 만들어 실행하자.
- chmod +x 파일이름으로 꼭 파일 실행 권한을 주자.
설정 후 해야할 것들
만약 권한 설정을 안했다면 chmod +x <script file name>
으로 권한 설정을 한다.
crontab 설정 후 service cron restart
명령어로 크론 서비스 재시작을 한다.
모든 작업이 끝났다면 service cron status
명령어로 오류가 없는지 검토한다.