Моя команда отчета о задачах cron не найдена [дубликат]

На этот вопрос уже есть ответ здесь:

Это содержимое моего файла crontab:

0 0,6,12,18 * * * cd /var/www/app/current && backup perform --trigger db_backup --config_file config/backup.rb --data-path db --log-path log --tmp-path tmp >> /var/www/app/current/log/cron.log 2>&1

0 3 * * * cd /var/www/app/current && RAILS_ENV=production bundle exec rake runs:populate --silent >> /var/www/app/current/log/cron.log 2>&1

59 23 * * * cd /var/www/app/current && RAILS_ENV=production bundle exec rake runs:log --silent >> /var/www/app/current/log/cron.log 2>&1

Если я запускаю любой из них вручную как владелец crontab, они работают нормально, но cron Файл .log просто содержит:

/bin/sh: bundle: not found
/bin/sh: backup: not found
/bin/sh: bundle: not found

Я попытался обернуть каждый из них следующим образом (по умолчанию всякий раз, когда gem , который я использую для управления своим файлом cron) bash -l -c '...' , но затем я получаю то же самое, что и выше, за исключением bash bash: bundle: команда не найдена

8
задан 5 October 2011 в 12:37
2 ответа

Неправильный ПУТЬ для заданий CRON обычно / usr / bin: / bin . Ваши команды bundle и резервное копирование , вероятно, не находятся в пути по умолчанию. Одно из решений - изменить ваш crontab и включить полный путь к этим командам.

0 0,6,12,18 * * * cd /var/www/app/current && /path/to/backup ...

и т. Д. В общем случае рекомендуется использовать полные пути в crontab. Если вы хотите, вы также можете указать PTH внутри crontab

PATH=/bin:/usr/bin:/path/to/your/program

0 0,6,12,18 * * * cd /var/www/app/current && backup ...
13
ответ дан 2 December 2019 в 22:49
[1144642 путь фактических записей] Да, , например:

PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:
0 3 * * * run-cron-job
3
ответ дан 2 December 2019 в 22:49

Теги

Похожие вопросы