Por que meu cron job não funciona?

Por que meu cron job não funciona?

Eu li 20 perguntas sobre cron jobs e o que você não precisa definir e fiz tudo isso, não marque isso como duplicado. Então meu script é este:

#!/bin/bash

openRTSP_process_ids=(`/bin/ps -fu $USER | /bin/grep "openRTSP" | /bin/grep -v "grep" | /bin/grep -v $0 | /usr/bin/awk '{print $2}'`)
echo $openRTSP_process_ids
for i in "${openRTSP_process_ids[@]}"
do
    if [ -n "$i" ]; then
        echo $i
        kill -1 $i
    fi
done

e meu crontab fica assim:

#SHELL=/bin/bash
PATH=/home/username/bin:/home/username/.local/bin:/opt/OpenPrinting-Gutenprint/sbin:/opt/OpenPrinting-Gutenprint/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap$

43,41,26,21,16,12,1,7,48,46,33,49,54,57,59,4,9,14,19,24,27,29,32,34,39,44 * * * * bash /home/username/Documents/stop_openRTSP &>> /home/username/stop.log
50,55,0,5,10,15,20,25,30,35,40,45 * * * * /home/username/Documents/start_openRTSP

Eu tentei com o shell sh padrão e o shell bash não funciona. Tentei redirecionar a saída para um bot de arquivo de log usando o redirecionamento &>> bash e o redirecionamento 2>&1 sh, mas o arquivo de log está vazio. Eu tentei um monte de coisas, mas o processo nunca foi encerrado, mas sim quando eu faço isso via linha de comando.

Além de adicionar caminho e shell, escrevi todos os comandos com seu caminho completo. Eu verifico se funcionou olhando ps aux | grep openRTPS e olhando os processos abertos. Quando executo o script na linha de comando, os processos são fechados, mas por meio do cron job eles permanecem abertos.

Em algumas versões tive um toque bla no início, então sei que este script específico ESTÁ sendo executado, mas nem todos os comandos.

Responder1

Se os trabalhos ou scripts não estiverem fazendo o que você espera, uma dica de solução de problemas muito útil é adicionar set -xao topo do script e inspecionar a saída para garantir que o script esteja fazendo o que vocêpensarestá fazendo. É bem possível que você esteja fazendo algumas suposições ou suposições sobre seu ambiente de tempo de execução que não são confirmadas em campo.

informação relacionada