私は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)
問題は、ジョブが実行されていないこと、です。データベースからいくつかのレコードを削除する必要がありますが、そうではありません。同じスクリプトを手動で実行することはそのトリックを行います。
誰かが私が見逃した(おそらく些細なことを)見ていますか?
あなたの問題は何ですか?操作が実行されない、または画面に表示されないことを確認しますか? crontab操作はバックグラウンドで実行されるためです。 –
ご回答いただきありがとうございます。私は質問を編集しました(問題は実行されず、画面上で確認する必要はありません)。 – Jos
cronログをチェックしましたか?最初に起動する必要があります(たとえばdebian:http://happy-coding.com/enable-crontab-logging-in-debian-linux/) – High6