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
解決策を見つけるのを手伝ってください。