Я новичок в crontab и борюсь с основами. У меня много разных вопросов. Все это делается на моем Raspberry Pi. Я пытаюсь запланировать запуск сценария python каждые 10 минут в будние дни. Сложнее то, что мой сценарий python должен использовать виртуальную среду.
Проведя небольшое исследование, я увидел, что могу просто активировать виртуальную среду с помощью сценария bash, а затем запустить сценарий python через него. Это сценарий bash:
#!/bin/bash
cd /home/pi/Desktop/projects/my_project
source env/bin/activate
python my_script.py
Я понятия не имею, лучший ли это способ запустить python в виртуальной среде через crontab, но это все, что я смог найти в Интернете. Это код самого crontab:
SHELL=/bin/bash
0-59/10 * * * 1-5 /home/pi/Desktop/projects/my_project/cron_script.sh
Я протестировал код crontab, запустив его в командной строке: sudo crontab -l | grep -v '^#' | cut -f 6- -d ' ' | while read CMD; do eval $CMD; done
. Опять же, я понятия не имею, лучший ли это способ немедленно проверить это. Это вызывает сообщение об ошибке:
bash: /home/pi/Desktop/projects/my_project/cron_script.sh: Permission denied
Я действительно просто запутался в большом количестве различных шагов здесь. Резюме:
- Я не знаю, правильно ли я использую виртуальную среду python в crontab или есть более чистый способ сделать это.
- Я не узнайте, есть ли лучший способ немедленно протестировать crontab. Также было бы неплохо записать операторы печати из моего python скрипта в текстовый файл.
- Я получаю сообщение об ошибке отказано в разрешении.