Я запускаю приложение Ruby, и каждую минуту скрипт должен запускаться, чтобы он отправлял электронные письма различным пользователям.Rake: команда не найдена при запуске задания cron
Сценарий работает, когда я запускаю его вручную, однако при запуске cron он выходит из строя с ошибкой «Rake: command not found».
Я довольно новичок во всем этом, и я знаю, что это будет что-то довольно простое, но я не могу найти что-либо в Интернете, которое касается - есть некоторые, которые близки, но не совсем подходят.
Это мой сценарий:
#!/bin/bash
# USAGE - runs rake script on [email protected] for email issue reply facility in redmine
cd /usr/local/src/redmine-3.0.3
rake -f Rakefile redmine:email:receive_imap RAILS_ENV="production"host=imap.gmail.com port=993 ssl=1 [email protected] password=<my_password> --trace
folder=Inbox
allow_override=true
И выход из почты при выполнении задания:
Date: Fri, 21 Aug 2015 08:23:01 GMT
Message-Id: <[email protected]>
X-Authentication-Warning: ip-172-xx-xx-xxx: ec2-user set sender to root using -f
From: [email protected] (Cron Daemon)
To: [email protected]
Subject: Cron <[email protected]> sh /usr/local/bin/redmine-email.sh
Content-Type: text/plain; charset=UTF-8
Auto-Submitted: auto-generated
X-Cron-Env: <LANG=en_US.UTF-8>
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/home/ec2-user>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=ec2-user>
X-Cron-Env: <USER=ec2-user>
/usr/local/bin/redmine-email.sh: line 5: rake: command not found
Мой кронтаб:
*/1 * * * * sh /usr/local/bin/redmine-email.sh
Так что я понятия не имею, что происходит - я запускаю другие задания cron на этой машине без каких-либо проблем. Поблагодарили бы за любую помощь, спасибо.
Вы попробовали запустить команду как 'bundle exec rake ...' – tekina
Просто попробовали это сейчас - все равно получите пакет: команда не найдена – shaneoh
, если вы используете 'rvm' или другой менеджер версий ruby, вам придется использовать соответствующая версия ruby, иначе она будет использоваться по умолчанию для рубиновой версии. –