Возможный дубликат:
blockquote>
Причины, по которым crontab не работаетЯ переношу некоторые скрипты из старая машина для машины lucid ec2.
Я собираю файл в нашем~/.bashrc
и устанавливаю некоторые переменные окружения, но эти переменные, кажется, не доступны из любого cron.
Несмотря на то, что у моего cron есть. /home/username/.bashrc && /path/to/script
, сценарий, похоже, не знает ни одной из переменных окружения, которые находятся в другом файле и получены из~/.bashrc
.Все эти скрипты успешно работают, когда я запускаю их из командной строки. Однако, пытаясь запустить его из crontab, они терпят неудачу.
Каждая строка в вашем кроне будет выполняться отдельным процессом. Возможно, вы должны запустить их внутри подоболочки? * * * * * root (. /home/nigel/.bashrc && script)
.
Кроме того, ваш .bashrc обычно будет предполагать, что он является оболочкой входа в систему (предполагаются определенные переменные, и их отсутствие может привести к аварийному завершению работы скрипта). Например, ваш .bashrc может начинаться с этой строки, что означает, что ничто из вашего .bashrc не вступит в силу при запуске из cron:
[ -z "$PS1" ] && return
Возможно, вы захотите попробовать с небольшим скриптом, который просто имеет переменные настройки.