gpt4 book ai didi

ruby - Cronjob 不适用于 rake 命令

转载 作者:太空宇宙 更新时间:2023-11-04 04:02:36 24 4
gpt4 key购买 nike

我完全陷入了不想工作的 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 文件中没问题)

我在这个 cron 上添加了一个日志文件,如下所示(在行尾) >/tmp/crontabRedmin.log 2&>1 但日志文件上没有写入任何内容。

我创建了一个 .sh 脚本,我尝试了不同的 rake 命令语法(/usr/local/bin/rake&& RAILS_ENV=生产包 exec rake),一切都在我的命令行上运行,但没有通过 cron 运行。

请帮助我知道我缺少什么。

最佳答案

当使用 cron 作业执行 rake 任务时,.bash_profile 文件不会被处理,因此您需要将环境变量添加到销售脚本中。

使用以下命令查找 Ruby Gems 路径等:

echo $GEM_HOME
echo $GEM_PATH
echo $PATH

将以下内容添加到您的 shell 脚本中:

#!/bin/bash
export PATH=$PATH:/home/user/.rvm/gems/ruby-2.0.0-p0/bin:/home/user/.rvm/gems/ruby-2.0.0-p0@global/bin:/home/user/.rvm/bin

export GEM_HOME=/home/user/.rvm/gems/ruby-2.0.0-p0

export GEM_PATH=/home/user/.rvm/gems/ruby-2.0.0-p0:/home/user/.rvm/gems/ruby-2.0.0-p0@global

关于ruby - Cronjob 不适用于 rake 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22489969/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com