我在运行cronjob时遇到问题。没有经验,所以可能会监督一些不高兴的事情。从shell运行时,以下脚本的工作方式类似于charm(从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)
问题是,作业未执行。它应该从数据库中删除一些记录,但事实并非如此。手动运行相同的脚本可以解决问题。
有人看到我错过了(也许是微不足道的)事情吗?
答案 0 :(得分:0)
使用括号可能会有所帮助。
* * * * *
(冒号分隔命令 - 执行)
检查一下。