0

crontabを介してシェルスクリプトを呼び出そうとしています。そして、シェルスクリプトから、rubyコードを実行するためのコマンドを呼び出しています。

〜/ process.sh

    ruby ~/program.rb

ルビーコードでは、プロセスが実行されていることを確認しており、メールを送信しようとしていない場合は確認しています。

result = `ps aux | grep unicorn`
unless result.match(/unicorn_rails master -c config\/unicorn\/unicorn_development.rb -E   development -D/)
   `echo "Stopped" | mail -s "a subject" someone@somedomain.com`
end 

ターミナルからシェルスクリプトを実行しようとすると、メールが完全に送信されます。しかし、crontabからは呼び出しが行われていますが、メールは送信されていません。

crontab内では、次のようなシェルスクリプトを呼び出しています。

00 */1    * * *   ~/process.sh

解決策を見つけるのを手伝ってください。

4

1 に答える 1

0

プログラムを実行する前に、指定されたディレクトリに移動してみてください。

cd /path/to/directory && ./process.sh
于 2013-02-04T08:22:21.317 に答える