2009-05-05 6 views
1

私は多段サポートを備えたcapistranoを使用して、私のアプリケーションを本番サーバに配備するPHP開発者です。したがって、私はルビーやレール知識はほとんどありません。cronを使用してcapistrano関数をスケジュールする

「flush」という新しい機能を私のdeploy.rbスクリプトに追加して、私のすべてのプロダクションサーバでphpスクリプトを呼び出すことができました。 'フラッシュ'の目的は、各プロダクションサーバに接続し、各サーバのローカルmysqlテーブルのすべてのログをマスタdbに書き込むPHPスクリプトを実行することです。

コマンドラインからの実行(cap prod flush)が正確な結果を生成するので、この関数が機能することは確かです。

私は毎時間この機能を呼び出すcronジョブをスケジュールしたいと思います。

タスク「PROD」は存在しません:cronジョブは、その電子メールを私に戻って次のエラーが発生したスクリプトを実行するときに、しかし

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

:開始するには、私は、関数を実行bashスクリプトを書きました

私は問題が、cronが実行されたときに、適切なディレクトリでスクリプトを実行していないと考えています。私は、bashスクリプトで$ PATH変数と$ HOME変数を変更しようとしましたが、動作させることができません。

誰でも私に支援を提供できますか?

ありがとうございます!

答えて

2

変更

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

または

cd /your/app/path/  
cap prod flush 

関連する問題