2014-11-10 5 views
3

cron 작업에서 신출내기 서비스 상태를 쿼리 할 수 ​​없습니다 나는 내 crontab을 다음 줄을 추가 : 주변의 다음 분 롤 후내가 우분투 14 실행 해요

*/1 * * * * : testing; /usr/sbin/service my-service status > ~/status 2>&1 

, 나는 ~/상태에서 볼 : 나는 연구 할 수 있는지 궁금하네요

~$ /usr/sbin/service my-service status 
my-service stop/waiting 

: 나는 터미널에서 이것을 실행하면

my-service: unrecognized service 

,이 서비스를 인식하지 내 서비스가 cron 작업의 환경에서는 인식되지 않지만 내 환경에서는 서버로 ssh 할 때가 아닙니다.

답변

6

나는이 작품 발견 :

*/1 * * * * : testing; /sbin/initctl status my-service > ~/status 2>&1 

/usr/sbin/service 작품은 SystemV 작업에 (예를 들어, /etc/init.d에있는 것), 우분투 아래는 (예를 들어,은/etc/초기화 사람들을 갑자기 출세 한 작업을 본다). /sbin/initctl은 Upstart 작업과 직접 작동합니다. 내 생각 엔 /usr/sbin/service이 Upstart 작업을 볼 수있는 메커니즘이 내 cron 작업이 실행되는 환경에서 어떤 이유로 작동하지 않지만 그 이상을 탐색하는 방법을 모르겠습니다.

+1

나는 내 자신의 대답을 받아들이지 않을 것이다. 실제로 일어난 일에 대한 추측과 함께 해결 방법 일 뿐이 기 때문이다. – nonagon

+1

추가 세부 정보 : cron 환경에서/sbin은 PATH에 포함되어 있지 않습니다. 'PATH =/usr/bin :/bin :/sbin service'를 실행하면 서비스가 인식됩니다. – plediii