Bash-скрипт в Cron не запускает Python Script в Ubuntu 20.04.2 LTS

У меня Ubuntu 20.04. 2 LTS-сервер, на котором я запускаю несколько сценариев python.

Я создал задание cron для запуска сценария bash, чтобы проверить, работает ли мой сценарий python:

#!/bin/sh
#!/bin/python2.7


SERVICE="start_server.py"
if ps -ef | grep "$SERVICE" | grep -v grep >/dev/null
then
    echo "start_server.py is running" >> /home/ubuntu/mislaka/script_log.log
else
        python2.7 /home/ubuntu/mislaka/start_server.py &
    echo "start_server.py stopped" >> /home/ubuntu/mislaka/script_log.log
fi

Это конфигурация задания cron:

* * * * * /home/ubuntu/mislaka/check_process.sh

При проверке файла журнала Я вижу, что он добавляет эхо-команды в файл, но не запускает скрипт python.

Если я запускаю свой скрипт вне cronjob, он работает, как ожидалось.

Буду признателен за любую помощь.

Спасибо!

1
задан 25 July 2021 в 11:03

2 ответа

Выяснил, в чем была моя проблема. Вместо того, чтобы писать мою команду под оператором else в одной строке, я написал ее двумя:

echo "start_server.py stopped" >> /home/ubuntu/mislaka/script_log.log && python2.7 start_server.py &

Это исправило мои проблема.

0
ответ дан 28 July 2021 в 11:15

Между оболочками bash и sh есть некоторые различия. Если вы используете bash, вы должны использовать:

#!/bin/bash
0
ответ дан 28 July 2021 в 11:15

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

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