編集 2 2013 年 6 月 27 日: 問題は、venv と cron に関係のないばかげた間違いでした。venv を作成したのと同じユーザーで cron から venv を実行すると、以下で説明する activate を使用してうまく機能します。
EDIT 25/06/2013: nohup.out は cron の実行後に変更されないため、virtualenv の使用に問題があると思われます。cron は、コマンド ラインからスクリプトを実行するユーザーと同じユーザーで設定されます。
venv をアクティブにしてから python スクリプトを実行するスクリプトを作成しました。私がそうするとき、それはコマンドラインから完全に実行されます
nohup /home/heyheyhey/run.sh &
ただし、いくつかのブラック マジックの理由により、python 部分は cron から実行されません。
0 4 * * * /home/heyheyhey/run.sh &
run.sh の内容:
#! /bin/bash
cd /home/heyheyhey
. /home/heyheyhey/.pythonbrew/venvs/Python-2.7.2/venvname/bin/activate 2> error.log
python /home/heyheyhey/top.py 2> error.log
bzip2 -c "Exporter.csv" > "extraction.csv.bz2"
出力圧縮ファイルが作成されてから run.sh が実行されます。ただし、Exporter.csv が更新されておらず、ログ ファイルにアクティビティが表示されないため、Python スクリプトは機能しません。
ご協力いただきありがとうございます!