Как сделать тайм аут на выполнение команды crontab

Доброе утро, у меня не выполняется код python с модулями, через командную строку все работает и сам код и через bash файл тоже все отрабатывается штатно, логи crontab не особо информативны (пишет нет модуля cv2) Думаю нужно поставить выдержку (таймаут) на выполнение команды, где то на форумах попадалось один раз такая тема сейчас не могу найти. Помогите пожалуйста, вот баш

#!/bin/bash

# Переход в директорию проекта
cd /home/user/MyProger

# Активация виртуалки
source /home/user/MyProger/venv3.10/bin/activate

# Выполнить скрипт Python
python3 /home/user/MyProger/main.py 

вот крон

* * * * * /home/user/MyProger/myscript.sh

Скрипт запускается каждую минуту камера на ноутбуке загорается и гаснет думаю просто не успевает прогрузится до конца

вот /var/log/syslog

May 17 13:29:01 user-HP-Laptop-15-bw0xx CRON[22553]: (user) CMD (/home/user/MyProger/myscript.sh) May 17 13:29:01 user-HP-Laptop-15-bw0xx CRON[22555]: (root) CMD (/home/user/MyProger/myscript.sh) May 17 13:29:01 user-HP-Laptop-15-bw0xx postfix/pickup[21417]: A261EB402ED: uid=0 from= May 17 13:29:01 user-HP-Laptop-15-bw0xx postfix/cleanup[20830]: A261EB402ED: message-id=<20240517072901.A261EB402ED@user-HP-Laptop-15-bw0xx> May 17 13:29:01 user-HP-Laptop-15-bw0xx postfix/qmgr[8856]: A261EB402ED: from=<root@user-HP-Laptop-15-bw0xx>, size=794, nrcpt=1 (queue active) May 17 13:29:01 user-HP-Laptop-15-bw0xx postfix/local[20832]: A261EB402ED: to=<root@user-HP-Laptop-15-bw0xx>, orig_to=, relay=local, de> May 17 13:29:01 user-HP-Laptop-15-bw0xx postfix/qmgr[8856]: A261EB402ED: removed May 17 13:29:02 user-HP-Laptop-15-bw0xx postfix/pickup[21417]: 2E87AB402ED: uid=1000 from= May 17 13:29:02 user-HP-Laptop-15-bw0xx postfix/cleanup[20830]: 2E87AB402ED: message-id=<20240517072902.2E87AB402ED@user-HP-Laptop-15-bw0xx> May 17 13:29:02 user-HP-Laptop-15-bw0xx postfix/qmgr[8856]: 2E87AB402ED: from=<user@user-HP-Laptop-15-bw0xx>, size=1157, nrcpt=1 (queue activ> May 17 13:29:02 user-HP-Laptop-15-bw0xx postfix/local[20832]: 2E87AB402ED: to=<user@user-HP-Laptop-15-bw0xx>, orig_to=, relay=local, de> May 17 13:29:02 user-HP-Laptop-15-bw0xx postfix/qmgr[8856]: 2E87AB402ED: removed May 17 13:29:48 user-HP-Laptop-15-bw0xx kernel: [21098.921903] rtw_8723de 0000:02:00.0: failed to get tx report from firmware

Вот отчет если набрать в терминале mail

Return-Path: <user@user-HP-Laptop-15-bw0xx>
X-Original-To: user
Delivered-To: user@user-HP-Laptop-15-bw0xx
Received: by user-HP-Laptop-15-bw0xx (Postfix, from userid 1000)
    id 24168B4050D; Thu, 16 May 2024 14:49:01 +0600 (+06)
From: root@user-HP-Laptop-15-bw0xx (Cron Daemon)
To: user@user-HP-Laptop-15-bw0xx
Subject: Cron <user@user-HP-Laptop-15-bw0xx> python3 /home/user/MyProger/main.py
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/home/user>
X-Cron-Env: <LOGNAME=user>
Message-Id: <20240516084905.24168B4050D@user-HP-Laptop-15-bw0xx>
Date: Thu, 16 May 2024 14:49:01 +0600 (+06)
X-IMAPbase: 1715913606                  148
X-UID: 1
Status: R

Traceback (most recent call last):
  File "/home/user/MyProger/main.py", line 1, in <module>
    import cv2
ModuleNotFoundError: No module named 'cv2'

Ребят да как так то простейший код

import cv2

video_capture = cv2.VideoCapture(0)

if not video_capture.isOpened():
    print("Cannot open url")
    exit()

while True:
    ret, frame = video_capture.read()
    
    if not ret:
        print("Can't receive frame. Exiting...")
        break

    cv2.imshow("Video", frame)
    
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

video_capture.release()
cv2.destroyAllWindows()

и так писал в кроне

* * * * * cd ~/MyProger && . .venv3.10/bin/activate && python3 main.py > /tmp/out1 2>&1

и полностю путь писал без всяких точек через source, скрипт и через bash и просто в терминале набираешь команды все работает, а через crontab камера загорается и гаснет, почему витруалка не запускается кроном. Установлено 2 виртуалки venv3.10 и venv3.11 и там итам все пакеты модулей установлены любую activate потом deactivate другую запускаешь все работает через sh myscript.sh


Ответы (0 шт):