Команда Rake работает в терминале, но не в crontab - PullRequest
0 голосов
/ 05 декабря 2018

Я пытаюсь выполнить эту строку 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 Ответ

0 голосов
/ 05 декабря 2018

Это потому, что crontab работает в другой среде, чем обычный пользователь (когда вы печатаете в терминале).Поэтому вам нужно указать путь установки 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 ​​на этот путь пакета и посмотрите, работает ли он.

Это должно решить вашу проблему.Подробнее: Смотрите это

...