crontab で実行する方法
*/1 * * * * /home/user/Desktop/job/dp/ python manage.py statistics
仮想環境で?最初にvirtualenvを有効にする必要があります(そうしないと機能しません)
これは私の仮想環境です:
source job/bin/activate
crontab で実行する方法
*/1 * * * * /home/user/Desktop/job/dp/ python manage.py statistics
仮想環境で?最初にvirtualenvを有効にする必要があります(そうしないと機能しません)
これは私の仮想環境です:
source job/bin/activate
編集済み:
次のようなことを試してください:
*/1 * * * * . /path-to-env/bin/activate && /home/user/Desktop/job/dp/manage.py statistics
これは次のように読む必要があります: env をアクティブ化し、それが成功した場合は、manage.py スクリプトを実行します。manage.py には python シバンがあり、仮想環境が正しい python インタープリターを設定するため、これは機能するはずです。
どうやらcronは通常/bin/sh
、コマンドを知らないで実行されsource
ます。したがって、1 つのオプションは、source
代わりにドットを使用することです。/bin/bash
cron ファイルで設定する別の方法:
SHELL=/bin/bash
*/1 * * * * source /path-to-env/bin/activate && /home/user/Desktop/job/dp/manage.py statistics
この問題の詳細については、http:
//codeinthehole.com/writing/running-django-cronjobs-within-a-virtualenv/source
を
参照して.
ください。それは私のために働いた。したがって、選択できるオプションがいくつかあります。この記事には他のオプションもあります。;)
次のようなものを使用します~/envs/someenv/lib/python /path/to/your/script
あなたの状況では、次のようになります
*/1 * * * * ~/envs/someenv/lib/python /home/user/Desktop/job/dp/manage.py statistics