質問: いつもお世話になっております。 サーバー上でメール受信で動くRubyのプログラムを置いております。 先日そのプログラムが最後まで実行されず、何らかのエラーで途中で終了したようなので原因を探っております。 ### 質問 そこで質問なのですがサーバー上でRuby実行された際に発生したRubyのログの保存場所を教えて頂けないでしょうか? Cronやpostfixであればログご保存されている場所はわかるのですが、Rubyは見当たりません。保存されていないのでしょうか。 よろしくお願い致します。 ### 環境 CentOS6.8 Ruby 2.3.1
回答: Rubyのというより、メールからaliasesや.forwardで起動したプログラムが0以外のステータスで終了すると、送信者にエラーメールが返って、その中にプログラムの出力も入っていると思います。 エラーメールが返ってないなら、ステータス0で終了しています。 ### 追記 ログを残すサンプルです。これで、エラーであれば`/var/log/messages`に出るはずです。 ユーザーにエラーメールを返さないように、このスクリプト自体はステータス0で終えます。 ``` #!/bin/bash FILE=/var/tmp/mailkickprogramtemp$$ trap "rm -f $FILE" 0 if /path/to/mailkickprogram &> $FILE then : else logger -p user.err -t mailkickprogram < $FILE fi exit 0 ```