2011-02-16 2 views
1
0 0,2,4,6,8,10,12,14,16,18,20,22 * * * /bin/bash -l -c 'cd /var/www/rails/xxx/releases/20110105175853 && RAILS_ENV=production rake ts:rebuild --silent' 

안녕하세요, 여러분. 이것은 언제나 생성되는 crontab 작업입니다. 그것은 스핑크스 색인을 재구성하고 있습니다. /var/log/cron 로그에 오류없이 crontab 작업으로 실행할 때 작동하지 않습니다. 하지만 수동으로 명령을 실행할 때 작동합니다.rake ts : rebuild가 crontab 작업으로 작동하지 않습니다.

아무도 도와 줄 수 있습니까? 고마워요.

+0

cron을 행복하게 만드는 데 필요한 모든 문자열을 올바르게 가져 오는 것은 고통입니다. 나는 bash runline을 가지고 작은 bash 스크립트로 만들 것을 제안 할 것이다. 그런 다음 crontab 파일에 간단한 실행 행을 하나 넣을 수 있습니다. –

답변

2

당신의 cron 과제는 저에게 이상한 것처럼 보입니다. ts :를 다시 호출해야하는지 확신 할 수 없다. 서버가 재부팅되면 재 구축 만하면됩니다. 인덱스를 업데이트하려면 ts : index를 실행하십시오. 아래는 제 레일 어플리케이션에 사용하는 cron 태스크입니다. 5 분마다 스핑크스 색인을 새로 고칩니다. 당신은 사용자의 crontab을 사용하는 경우

이 작동합니다 :

*/5 * * * * cd /home/appuser/rails-app; RAILS_ENV=production rake ts:index >> /dev/null 

당신이 당신의 크론를 두는 경우이 같은 사용자 이름을 추가해야합니다 /etc/cron.d/ 디렉토리에 :

*/5 * * * * appuser cd /home/appuser/rails-app; RAILS_ENV=production rake ts:index >> /dev/null 

이 설정은 우분투 상자 용이지만 대부분의 리눅스 배포판에서 작동해야합니다.

희망이 도움이됩니다.

관련 문제