2009-05-05 2 views
1

저는 프로덕션 서버에 응용 프로그램을 배포하기 위해 다단계 지원 기능을 갖춘 capistrano를 사용하는 PHP 개발자입니다. 그러므로 나는 루비 나 레일 지식이 거의 없다.cron을 사용하여 capistrano 기능을 예약하십시오.

필자는 모든 프로덕션 서버에서 PHP 스크립트를 호출하는 deploy.rb 스크립트에 'flush'라는 새로운 기능을 추가 할 수있을만큼 충분한 것을 알아 냈습니다. '플러시'의 목적은 각 프로덕션 서버에 연결하고 각 서버의 로컬 mysql 테이블의 모든 로그를 마스터 db에 쓰는 PHP 스크립트를 실행하는 것입니다.

커맨드 라인 (cap prod flush)에서 실행하면 정확한 결과가 나오기 때문에 함수가 작동한다고 확신합니다.

매시간이 함수를 호출하는 cron 작업을 예약하고 싶습니다.

작업 '자극'이 (가) 없습니다 : 크론 작업, 그것은 이메일 날 다시 다음과 같은 오류가 스크립트를 실행 할 때, 그러나

!#/bin/bash 
`/usr/bin/cap prod flush` 

: 시작하려면, I는 함수를 실행하는 bash는 스크립트를 작성

나는 cron이 실행될 때 문제가 있다고 믿는다. 적절한 디렉토리에서 스크립트를 실행하지 않는다. 나는 bash 스크립트에서 $ PATH와 $ HOME 변수를 변경하려고 시도했지만, 제대로 작동하지 않는 것처럼 보입니다.

누구에게 도움을 줄 수 있습니까?

감사합니다.

답변

2

변화

cd /path/where/deploy.rb/exists 
cap prod flush 

또는

cd /your/app/path/  
cap prod flush