2017-04-23 4 views
0

私はAmazon LinuxでSymfony(PHP)コマンドをElastic Beanstalkに配備しています。私はcronジョブを追加しました。すべてがうまく見えます。 cronジョブが実行され、/ tmpフォルダにログファイルが作成されますが、空です。コマンドが実行されるたびに少なくとも少数の文字が必要です。 ここでは、cronジョブの実行についていくつかの記事を見てきましたが、どちらもうまくいきませんでした。私の問題のクローズはthis oneです。PHP symfonyコマンドがcronから手動で実行されるまで動作しない

トリックは、私がインスタンスにSSHしてこのコマンドを手動で実行すると、すべて期待どおりに動作することです。 Cronは、実行するように設定されるたびにコマンドを実行します。しかし、初めて手動で実行する必要があります。そうでなければ、正しく実行されません。

私は#!/ bin/bashを持つscript.shでPHPコマンドを実行します。

なぜこれは最初に手動で実行する必要があり、それはcronから実行されるのですか?さもなければそれはしません。 ログファイルのパーミッションを0666に設定しているので、誰でも書き込みできますが運はありません。

私はSymfonyコマンドをElastic Beanstalkにデプロイします。私は問題ではないEC2インスタンスを1つしか持っていないが、Elastic Beanstalkを使ってそれを拡大縮小し、手動で初期化せずに実行する必要がある。

助けてください。 ありがとう

+0

わからない: getentをグループ| cronを/ crontabのグループがAnyone_ph @許可 –

+0

を必要としていていないため、grepのcronの それは多分私は何も得ませんでした。しかし、CLIからCLIを実行すると、なぜそれがありますか? – Strabek

答えて

1

最後に、3時間後に私はthis postとRobert Brisitaさんの答えによって働いています。 cron_job.shファイルで

SHELL =/binに/ bashの

*/1 * * * *の$ HOME/cron_job.sh

:crontabの-eファイルで

#!/ binに/ bashの

ソースの$ HOME/.bash_profileを

some_other_cmd

トリックは、env varsをcronにすることです。そうでなければ、私はSymfonyのエラーを受けていました。 ファイルを間違った場所に出力したため、私はそれらを見ませんでした。それはcrontabではなくscript.shファイル内にありました。

これで、すべて正常に動作します。しかし、見て

関連する問題