2

我在运行 cronjob 时遇到问题。没有这方面的经验,所以可能监督一些nooby。当从 shell 运行时,以下脚本就像一个魅力(所有旧过滤器都从 db 中删除):

dude@linux:~> /usr/bin/env /home/dude/RubyOnRails/myproject/script/rails runner /home/dude/RubyOnRails/myproject/script/delete_old_filters.rb 

我使用 chmod 使脚本可执行。现在我希望它使用 cronjob 定期运行:

dude@linux:~> 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 不存在。重新启动我的系统也没有帮助。

crontab 似乎被探测地更新了:

dude@linux:~> 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

但我也有点期待:

dude@linux:~> atq
dude@linux:~>

cronjob 做了一些事情。每分钟都会向 /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)

问题是,作业没有执行。它应该从数据库中删除一些记录,但它没有。手动运行相同的脚本就可以了。

有人看到我错过的(也许是微不足道的)事情吗?

4

1 回答 1

0

也许这会有所帮助,使用括号。

* * * * *冒号分隔的命令执行

核实。

于 2012-05-10T20:32:08.063 回答