So führen Sie scl enable rh-python36 in Linux crontab aus

Da scl enable rh-python36 eine neue virtuelle Umgebung für Python erstellt, können Sie in dieser Umgebung Ihr installiertes Python 3.6 verwenden, diese virtuelle Umgebung wird jedoch nicht automatisch angewendet, wenn Sie in einer Crontab ausgeführt werden.

Damit Sie Python 3.6 in Linux crontab verwenden können, müssen Sie Ihre Python-Dateien in einer aktivierten neuen virtuellen Umgebung ausführen.

Meine run.sh Datei:

#!/bin/bash
now=`date`
echo "[$now]Running script now ..."
scl enable rh-python36 "cd /opt/wdir/ && pipenv run python main.py" >> /var/log/logrun.txt
echo "[$now]All done now" 

und meine crontab:

* 7 * * * /opt/wdir/run.sh > /var/log/logrun.txt 

Eine andere Möglichkeit besteht darin, scl direkt auf der crontab zu setzen:

* 7 * * *  scl enable rh-python36 "cd /opt/wdir/ && pipenv run python main.py" > /var/log/logrun.txt 

Mehr über Linux crontab here.

Happy working!