7

crontab で実行する方法

*/1 * * * * /home/user/Desktop/job/dp/ python manage.py statistics

仮想環境で?最初にvirtualenvを有効にする必要があります(そうしないと機能しません)

これは私の仮想環境です:

source job/bin/activate
4

2 に答える 2

16

編集済み

次のようなことを試してください:

*/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/bashcron ファイルで設定する別の方法:

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を 参照して.ください。それは私のために働いた。したがって、選択できるオプションがいくつかあります。この記事には他のオプションもあります。;)

于 2013-02-08T15:43:03.593 に答える
4

次のようなものを使用します~/envs/someenv/lib/python /path/to/your/script

あなたの状況では、次のようになります

*/1 * * * * ~/envs/someenv/lib/python /home/user/Desktop/job/dp/manage.py statistics

于 2013-02-08T15:36:42.977 に答える