script não está funcionando fora do diretório

0

Eu tenho um script (activate.sh) que verifica um script python em execução e, se não for encontrado, o reinicia

#!/bin/bash

ps auxw | grep my_script | grep -v grep > /dev/null
if [ $? != 0 ]
then
    echo "Process is not running."
    source /path/to/venv/bin/activate #start python environment
    export PYTHONUNBUFFERED=yes #to allow for running log output
    python /path/to/my/script/my_script.py >> /path/to/my/script/logs/output.log &
fi

Este parece ser um modelo de script bastante básico encontrado on-line para reiniciar um serviço com falha.

Eu então configuro no crontab para rodar a cada minuto. No entanto, por algum motivo, o script está detectando apenas o serviço (a linha grep) se eu o executar no diretório local em que ele está.

Se eu executar /my/path/to/script/activate.sh (do meu diretório pessoal), nada e o crontab não está iniciando o serviço

    
por geekluv 20.04.2018 / 18:26

0 respostas