代码之家  ›  专栏  ›  技术社区  ›  Lolo

rake命令在终端中有效,但在crontab中无效

  •  0
  • Lolo  · 技术社区  · 6 年前

    我尝试执行以下crontab行:

    */1 * * * * /bin/bash -l -c 'source $HOME/.bash_profile && cd /home/uservm/RubymineProjects/ && RAILS_ENV=development bundle exec rake accr:generate_pdf'
    

    如果我执行 cd /home/uservm/RubymineProjects/ && RAILS_ENV=development bundle exec rake accr:generate_pdf 在终端,它工作得很好,但在cron中不行

    1 回复  |  直到 6 年前
        1
  •  0
  •   imadityang    6 年前

    这是因为crontab在与普通用户不同的环境中运行(当您键入terminal时)。所以您需要指定您的ruby安装路径:

    运行:

    $ which ruby
    

    复制您的ruby路径,然后将crontab更改为

    */1 * * * * /bin/bash -l -c 'source $HOME/.bash_profile && cd /home/uservm/RubymineProjects/ && /path/to/ruby RAILS_ENV=development bundle exec rake accr:generate_pdf
    

    如果这没解决,那就跑吧 $ which bundle 并用这个包路径替换ruby路径,看看它是否有效。

    这应该能解决你的问题。更多: See this