Linux crontabでscl enable rh-python36を実行する方法

sclはrh-python36を有効にしてPythonの新しい仮想環境を作成するため、この環境内ではインストール済みのPython 3.6を使用できますが、この仮想環境はcrontabでの実行中に自動的に適用されません。

そのため、Linux crontabでPython 3.6を使用するには、有効化された新しい仮想環境でpythonファイルを実行する必要があります。

私のrun.shファイル:

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

と私のcrontab:

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

別の方法は、crontabで直接sclを設定することです:

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

についての詳細 Linux crontab here.

Happy working!

Related:  Centos 7/6/5でHAProxyをインストール、構成、および最適化する方法

Leave a Reply

Your email address will not be published. Required fields are marked *