EDIT 2 27/06/2013 : 문제는 venv 및 cron과 관련없는 바보 같은 실수였습니다. venv를 만든 사용자가 동일한 cron에서 venv를 실행하려면 아래에서 desscribed로 활성화하십시오.Cron & Virtualenv : Cron은 virtualenv가 필요한 python 스크립트를 실행하지 않습니다.
편집 25/06/2013 : nohup.out은 cron이 실행 된 후 변경되지 않으므로 virtualenv를 사용하고있는 것으로 의심됩니다. cron은 명령 줄에서 스크립트를 실행하는 사용자와 동일한 사용자로 설정됩니다.
나는 venv를 활성화 한 다음 python 스크립트를 실행하는 스크립트를 작성했습니다. run.sh의
0 4 * * * /home/heyheyhey/run.sh &
내용 : 내가 어떤 마술 이유로, 파이썬 부분은 크론에서 실행되지 않습니다, 그러나
nohup /home/heyheyhey/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 스크립트가 작동하지 않습니다.
도움 주셔서 감사합니다.
'nohup' 또는'&를 사용할 필요가 없다'cron 작업이다. 'nohup '은 연결을 끊을 터미널이 없기 때문에 필요하지 않으며, cron의 모든 것이 효과적으로 백그라운드에 있기 때문에'&'는 필요하지 않습니다. – Barmar
예, 동의합니다. 그러나 nohup을 사용하거나 사용하지 않고 시도했지만 차이점이 없으며 python 스크립트가 실행되지 않습니다! – antoinet
나는 그것이 차이를 만들 것이라고 결코 말하지 않았다, 나는 단지 그것이 필요하지 않다고 말했다. – Barmar