【发布时间】:2014-04-24 18:14:10
【问题描述】:
我完全卡在一个不想工作的 cronjob 命令上。
这是我的问题:
我只想在我的 crontab 上启动一个 rake 命令(对于 Redmine:通过 IMAP 检查特定地址上的所有未读电子邮件并创建一个 redmine 票证)
命令如下:
cd /opt/redmine/ && rake redmine:email:receive_imap RAILS_ENV="production" host=imap.gmail.com username=redmine.check@gmail.com ssl=true port=993 password=MyPassword project=level1support unknown_user=accept no_permission_check=1 allow_override=project
我可以在命令行上启动它,一切正常
所以我创建了一个crontab -e 并将这一行添加到我的 crontab 中:
*/10 * * * * cd /opt/redmine/ && rake redmine:email:receive_imap RAILS_ENV="production" host=imap.gmail.com username=redmine.check@gmail.com ssl=true port=993 password=MyPassword project=level1support unknown_user=accept no_permission_check=1 allow_override=project
但它不起作用。
cron 似乎在运行(在我的 /var/log/cron 文件中没问题)
我像这样(在行尾)> /tmp/crontabRedmin.log 2&>1 在这个 cron 上添加了一个日志文件,但日志文件上没有写入任何内容。
我创建了一个 .sh 脚本,我为 rake 命令尝试了不同的语法(/usr/local/bin/rake 或 && RAILS_ENV=production bundle exec rake),一切都在我的命令行上运行,但通过 cron 没有。
请帮助我知道,我错过了什么。
【问题讨论】:
-
您是在使用某些东西来管理您的 ruby 安装,还是使用 unix/linux 包管理器为您安装 ruby 和 rake?
-
@Gizmomogwai 我刚刚安装了一个 linux 包管理器
-
在命令行和由 cron 触发的脚本中尝试“which rake”和“which ruby”,看看是否使用相同的版本!与捆绑相同。
标签: ruby linux cron rake redmine