Почему моя задача cron не работает?

Почему моя задача cron не работает?

Я прочитал около 20 вопросов относительно заданий cron и того, что вам не нужно устанавливать, и я сделал все это, не помечайте это как дубликат. Так что мой сценарий такой:

#!/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

и мой crontab выглядит так:

#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

Я пробовал это со стандартной оболочкой sh и оболочкой bash, и обе не работают. Я пробовал перенаправить вывод в файл журнала бота с помощью &>> перенаправления bash и 2>&1 перенаправления sh, но файл журнала просто пуст. Я пробовал кучу вещей, но процесс никогда не завершается, но они завершаются, когда я делаю это через командную строку.

В дополнение к добавлению пути и оболочки я написал все команды с их полным путем. Я проверяю, работает ли это, просматривая ps aux | grep openRTPS и просматривая открытые процессы. Когда я запускаю скрипт из командной строки, процессы закрываются, но через cron job они просто остаются открытыми.

В некоторых версиях в начале было сообщение «touch bla», поэтому я знаю, что этот конкретный скрипт выполняется, но не все команды.

решение1

Если задания или сценарии не выполняют то, что вы ожидаете, один очень полезный совет по устранению неполадок — добавьте set -xв начало сценария и проверьте вывод, чтобы убедиться, что сценарий выполняет то, что вы ожидаете.думатьэто делает. Вполне возможно, что вы делаете какие-то предположения или допущения относительно вашей среды выполнения, которые не подтверждаются в полевых условиях.

Связанный контент