2012-05-03 5 views
2

私はcronjobを実行する際に問題があります。それを経験していないので、恐らく何かnoobyを監督します。シェルから実行すると、次のスクリプトは、(すべての古いフィルタは、DBから削除されている)魔法のように動作します:cronjobが実行されていません

[email protected]:~> /usr/bin/env /home/dude/RubyOnRails/myproject/script/rails runner /home/dude/RubyOnRails/myproject/script/delete_old_filters.rb 

私はchmodコマンドでスクリプトを実行可能にしました。今私は、これは定期的にcronジョブを使用して実行したい:

[email protected]:~> crontab -e 

このファイルは空ではなかった、と私は、単一の行にこれを置い:

* * * * * /usr/bin/env /home/dude/RubyOnRails/myproject/script/rails runner /home/dude/RubyOnRails/myproject/script/delete_old_filters.rb 

私はスクリプトが毎分実行することを期待し、何も起こる/etc/cron.denyには、 'guest'のみが記述されていて、/ etc/allowは存在しません。私のシステムを再起動しても効果はありませんでした。

[email protected]:~> crontab -l 
# DO NOT EDIT THIS FILE - edit the master and reinstall. 
# (/tmp/crontab.f9Et2M installed on Thu May 3 14:04:47 2012) 
# (Cronie version 4.2) 
* * * * * /usr/bin/env /home/dude/RubyOnRails/myproject/script/rails runner /home/dude/RubyOnRails/myproject/script/delete_old_filters.rb 

しかし、私はここにも少し期待:

のcrontabはproberly更新しているようだ

[email protected]:~> atq 
[email protected]:~> 

cronジョブが何かを行います。エントリが/var/log/cron.logに追加される毎分:

2012-05-03T15:27:01+02:00 linux /USR/SBIN/CRON[5276]: (dude) CMD (/usr/bin/env /home/dude/RubyOnRails/myproject/script/rails runner /home/dude/RubyOnRails/myproject/script/delete_old_filters.rb) 

問題は、ジョブが実行されていないこと、です。データベースからいくつかのレコードを削除する必要がありますが、そうではありません。同じスクリプトを手動で実行することはそのトリックを行います。

誰かが私が見逃した(おそらく些細なことを)見ていますか?

+0

あなたの問題は何ですか?操作が実行されない、または画面に表示されないことを確認しますか? crontab操作はバックグラウンドで実行されるためです。 –

+0

ご回答いただきありがとうございます。私は質問を編集しました(問題は実行されず、画面上で確認する必要はありません)。 – Jos

+0

cronログをチェックしましたか?最初に起動する必要があります(たとえばdebian:http://happy-coding.com/enable-crontab-logging-in-debian-linux/) – High6

答えて

0

おそらく、これは括弧を使用して、役立ちます。

* * * * *は(コロンがコマンドを-に実行分離

はそれを確認してください。

+0

のおかげでより良い質問かもしれません。私は試しましたが、それは助けになりませんでした。現在は2組の括弧がありますので、すでに括弧を自動的に追加しているようです。 – Jos

+0

他のすべてはうまく見えます。あなたが行っている執行を分析してください。削除するデータが存在することを確認してください。または、プロセスが呼び出しを実行していることを確認するために、rubyファイルに些細なファイル書き込みを行います。 – mtk

関連する問題