我在执行任务时遇到了麻烦。没有经验,所以很可能是监督努比的事情。当从shell运行时,下面的脚本就像一个符咒(所有旧的过滤器都从db中删除):
dude@linux:~> /usr/bin/env /home/dude/RubyOnRails/myproject/script/rails runner /home/dude/RubyOnRails/myproject/script/delete_old_filters.rb
我用chmod实现了脚本的可执行。现在,我希望使用cron作业定期运行这个程序:
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中,只提到‘来宾’,并且/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:~>
克隆约伯做了些什么每分钟都有一个条目添加到/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)
问题是,作业没有执行。它应该从数据库中删除一些记录,但是没有。手动运行相同的脚本就可以了。
有人看到我错过的(也许是微不足道的)事情了吗?
发布于 2012-05-10 12:32:08
也许这会有帮助,使用括号。
* * * * *
(冒号分隔命令-要执行)
检查一下。
https://stackoverflow.com/questions/10431788
复制