Programming/Technic

How to execute node.js from crontab in ubuntu

minarae7 2014. 7. 4. 09:24
728x90
반응형

이전 버전까지는 crontab에 등록하여서 정상적으로 사용하던 코드가 node.js의 버전업을 한 이후에 비정상 작동하는 것을 확인하였다.


crontab에 정상적으로 등록되었고 /var/log/syslog에 확인하여도 실행은 되는 것으로 보이나 결과는 정상적으로 이루어지지 않는 현상이다.(내 경우에는 메일을 발송하는 script인데 메일 발송이 전혀 이루어지지 않았다.)


script를 쉘에서 실행하면 정상 작동하므로 script 문제는 아니였고 crontab에도 정상적으로 등록되었으므로 crontab 문제도 아니였다.


추정해보자니 crontab 에서 실행하면서 환경변수쪽에서 뭔가 문제가 있는 것이 아닌가 싶은데.


심지어 에러로그 조차 발생하지 않으니 확인할 방법이 없다.


그래서 crontab에 등록하여서 실행하는 방법을 포기!!


구글링을 해본 결과 forever를 통해서 반복으로 script를 실행하는 방법이 있는 것으로 확인하였다.


우선 forever 설치!!


npm install forever -g


이미 forever가 설치되어 있다면 위의 과정은 Skip!!


이제 forever를 통해서 스크립트를 실행하면 된다.


forever start --spinSleepTime 60000 script.js


--spinSleepTime이라는 변수가 반복적으로 script를 실행하는 옵션이다.


한번 실행하고 종료하는 script를 지정한 시간 간격으로 반복적으로 재실행해주는 것이다.


시간의 단위는 micronsecond로 위의 명령어는 1분(60초) 간격으로 실행하는 것이다.

728x90
반응형