Проблема с bash и crontab

Возможный дубликат:
Причины, по которым crontab не работает

Я переношу некоторые скрипты из старая машина для машины lucid ec2.
Я собираю файл в нашем ~/.bashrc и устанавливаю некоторые переменные окружения, но эти переменные, кажется, не доступны из любого cron.
Несмотря на то, что у моего cron есть . /home/username/.bashrc && /path/to/script, сценарий, похоже, не знает ни одной из переменных окружения, которые находятся в другом файле и получены из ~/.bashrc.

Все эти скрипты успешно работают, когда я запускаю их из командной строки. Однако, пытаясь запустить его из crontab, они терпят неудачу.

2
задан 13 April 2017 в 15:24

1 ответ

Каждая строка в вашем кроне будет выполняться отдельным процессом. Возможно, вы должны запустить их внутри подоболочки? * * * * * root (. /home/nigel/.bashrc && script).

Кроме того, ваш .bashrc обычно будет предполагать, что он является оболочкой входа в систему (предполагаются определенные переменные, и их отсутствие может привести к аварийному завершению работы скрипта). Например, ваш .bashrc может начинаться с этой строки, что означает, что ничто из вашего .bashrc не вступит в силу при запуске из cron:

[ -z "$PS1" ] && return

Возможно, вы захотите попробовать с небольшим скриптом, который просто имеет переменные настройки.

0
ответ дан 13 April 2017 в 15:24

Другие вопросы по тегам:

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