Sanal ortamda paketleri olan bir python betiği cron işi nasıl zamanlanır?


1

Paketler için gereken her şeyi kurduğum env'im var. Ve senaryomun bulunduğu yeri crontab'a koymak istiyorum. Yaptıklarımı, ancak betiğimi çalıştırırken crontab'ın eksik paketler nedeniyle çalıştırılamadığı bir sorun var, çünkü bunlar yalnızca benim ortamımda.

Bu nedenle, tüm paketleri ana bilgisayarıma yüklemek için ilk çözüm (ancak bunu yapmak istemiyorum).

Crontab'ım şunun gibi görünüyor:

* * * * * /path/script.py

script.py nerede #!/usr/bin/python3.6

ve crontab'uma bir şekilde env'imi gerekli tüm paketlerle birlikte eklemem gerekiyor.

Herhangi bir fikir?


1
Komut içindeki ortamı aktive etmeniz ve ortam ve değişkenleri (varsa) kullanacak olan komutlar çalıştırılmadan önce içinde kullanabileceğiniz herhangi bir kabuk değişkenini ayarlamanız ve ayarlamanız gerekir.
Nasir Riley

1
Yapmam gerekenlere örnek yazabilir misin, çünkü seni anladığımdan emin değilim.
test_qweqwe

Yanıtlar:


0

Senaryoyu yaptım cron_script.sh:

#!/bin/bash
source /path/to/env/bin/activate
cd /path/to/script/
python3.6 script.py
deactivate

Benim crontab:

* * * * * /path/to/cron_script.sh
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.