Cronの設定メモ

Railsから定期的にメールを送るため、Cronの設定を試みた
最初はcrontab -eで以下のように設定。

                                                      • -

[nag@rmark ~]$ crontab -l
MAILTO="nag@solution.co.jp"
34 11 * * * nag /usr/bin/ruby /var/app/saiyo/trunk/script/runner -e
production 'Student.send_reminder_mail'

                                                      • -

したら、Cronメールが次のようになった。

/bin/sh: nag: command not found

a-。nagって入れない方がいいのか。ということで以下のように修正。

                                                      • -

34 11 * * * /usr/bin/ruby /var/app/saiyo/trunk/script/runner -e
production 'Student.send_reminder_mail'

                                                      • -

あれ。今度はCronメールが来なくなった。
Cronメールはコマンドの実行結果の標準/エラー出力を記録したものが送られるらしい。
ということは、何か出力されなければおくられない。
よって下記で対処。

                                                      • -

MAILTO="nag@solution.co.jp"
17 12 * * * /usr/bin/ruby /var/app/saiyo/trunk/script/runner -e
production 'Student.send_reminder_mail' | echo 'Cron Succeed'

                                                      • -

最初のコマンドでエラーすれば後のコマンドが実行されない(だった気がする)ので、
これで対処した。
最も、Railsのコードに通知メールをするスクリプトを書いた方がいい気がするが。