У меня есть cronjob для запущения скрипта при запуске, который я создал использование crontab -e
@reboot /home/ubuntu/startup.sh > /home/ubuntu/log.log 2>&1
Мой startup.sh
сценарий содержит:
#!/bin/bash
...
bash /home/ubuntu/ec2-script.sh
и мой ec2-script.sh
содержит:
spark-submit
Но я добираюсь spark-submit: command not found
. Если я пробую от терминала, он работает превосходный. Но когда выполнения сценария в загружаются, это не может найти spark-submit
команда. Я пытаюсь поместить сон также, таким образом, искра запускается правильно, но это не помогает. Это была бы большая справка, если кто-то указывает что не так или пропавшие без вести.
Необходимо будет использовать полный путь для искры - отправляют.
Крон не настраивает среду, как Вы имеете в терминале / удар. Это означает, среди прочего, что ПУТЬ (путь поиска для исполняемых файлов) не установлен.
Можно установить среду любой в первых строках crontab, как:
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
OTHERVAR=/some/thing
или в Вашем сценарии. При установке их в сценарии, необходимо будет экспортировать ПУТЬ и другие переменные, которые Вы устанавливаете, для передавания их при вызове других сценариев или программ.