私はこのcronを持っています
38 * * * * /bin/bash -l -c 'cd /var/Rails/site/releases/20120705144335 && script/Rails runner -e qa '\''Play.load_lists'\'''
別のユーザーの下にこのcronがあるので、ユーザーをデプロイに切り替えます
Sudo su deploy
crontab -e
そして、私は自分のcronを表示してから、ログをrootユーザーの下にテールします
tail -n300 -f /var/log/syslog
そして私は私のcronを見ます
Jul 5 11:38:01 ip-10-70-75-234 CRON[4971]: (deploy) CMD (/bin/bash -l -c 'cd /var/Rails/site/releases/20120705144335 && script/Rails runner -e qa '\''Play.load_lists'\''')
Jul 5 11:38:01 ip-10-70-75-234 CRON[4970]: (CRON) info (No MTA installed, discarding output)
しかし、cronが実行されていないか、権限の問題があります...コンソールでタスクを実行すると、うまく機能しますが、cronでは機能しません...
これはUbuntu 12.04 LTSです
多分私はどこかでより詳細なリストをログに記録してエラーを確認できます
CRONは、ローカルメールを介してアプリケーションの出力(stdout、stderr)を配信します。最近、UbuntuにはデフォルトでMTA(Mail Transfer Agent)がインストールされていません。 CRONは、配信が失敗するたびにシステムログファイルに通知を出力します。
Jul 5 11:38:01 ip-10-70-75-234 CRON[4970]: (CRON) info (No MTA installed, discarding output)
MTAをインストールできます。 postfix、内部(ローカル)での使用のみ。
aptitude install postfix
インストール中に、どのデフォルト構成を使用するか尋ねられます。 Local only
構成。
その後、CRONによって実行されたアプリケーションの出力を使用して見つけることができます
tail -f /var/mail/<your_username>
もちろん、ログ出力を専用のログファイルに書き込んだり、組み込みのシェル機能を使用して出力をファイルにパイプまたはリダイレクトしたりすることもできます...