Сначала у вас есть ошибка в вашей строке cron. Вам нужно иметь 3 *
, а не 4
30 0 * * * ...
далее хорошая практика для cron
- создать сценарий оболочки, который будет запускать команды. И в этом сценарии добавьте ваш источник .bashrc
или / и .bash_profile
, чтобы установить переменные среды так же, как при входе в ОС.
Один пример сценария будет выглядеть так:
#!/bin/bash
. /path/to/your/home/directory/.bashrc
# also you can try
# . /path/to/your/home/directory/.bash_profile
spark scala job command >/tmp/logfile
retcode=$?
if [ "$errcode -eq 0 ]
then python script2.py
fi
В отношении последней строки целесообразно разбить ее и выполнить глубокие проверки, если первая команда успешно завершила выполнение.