私は解決策を探してみましたが、標準の定義された解決策を得ることができなかった非常に簡単な要件があります。 correct
ソリューションとは何ですか?.
Question:crontabを使用してcronジョブ(pythonスクリプト)を実行する必要があります。
crontab -eを使用して、次の行をcronファイルに追加しました。
* * * * * /usr/bin/python /srv/x/y/src/run.py > /tmp/listener.log 2>&1
スクリプトは起動しますが、内部で環境変数を使用しています。 環境変数が定義されていないというエラーがログファイルに表示されますか?
env vrasはどこで定義すればよいですか?私も.bashrc
で定義しようとしましたが、それでも同じエラーです。 cronjobはそれを見つけることができません。
私は何が欠けていますか?
以下から構成される小さなbashスクリプトを作成しますmypythonscript
:
#!/bin/bash
set ENVIRONMENT_VARIABLE_1=...
set ENVIRONMENT_VARIABLE_2=...
/usr/bin/python /srv/x/y/src/run.py > /tmp/listener.log 2>&1
実行可能にする:
chmod +x mypythonscript
Crontabで次の行を置き換えます
* * * * * /path/to/mypythonscript
変数の定義を2か所に保持するのではなく、プログラム呼び出しを、~/.bashrc
をソースとする単純なbash
スクリプトでラップします。
#!/bin/bash
source $HOME/.bashrc
/usr/bin/python /srv/x/y/src/run.py > /tmp/listener.log 2>&1
chmod +x
スクリプトを実行し、crontab
から実行します。