어떻게 crontab에서 activate (source env/bin/active)를 사용해야하는 python 스크립트를 호출합니까?활성화 된 crontab에서 python 스크립트 호출
답변
virtualenv의 정품 인증 스크립트는 매우 간단합니다. 주로 virtualenv의 파이썬 인터프리터에 대한 경로를 설정합니다. 대화 형 셸이 아닌 다른 것들 (설정하는 PS1
, 오래된 변수 저장하기 등)은 실제로 필요하지 않습니다. 그래서 가장 쉬운 방법은 두 가지 방법 중 하나를 수행 할 수 있습니다 올바른 파이썬 인터프리터와 파이썬 스크립트를 실행하는 것입니다
1. 당신의 VIRTUALENV의 파이썬 인터프리터를 사용하는 파이썬 스크립트를 설정
#!/home/user/virtualenv/bin/python
을 그리고 정상으로, 당신의 crontab에서 스크립트를 실행 : 당신의 VIRTUALENV의 인터프리터가 ~/virtualenv/bin/python
에있다 가정 할 때, 당신은 당신의 파이썬 스크립트의 상단에 해당 경로를 넣을 수 있습니다.
2. 실행하여 cron 작업에 적절한 파이썬 인터프리터 스크립트
스크립트를 가정 ~/bin/cronjob
에 있고 당신의 VIRTUALENV의 파이썬 인터프리터는 당신은 당신의 crontab에 넣고 수 ~/virtualenv/python
에 있습니다 :
* * * * * /home/user/virtualenv/python /home/user/bin/crontab
을
내 접근 방식은 항상 crontab을 가능한 단순하게 유지하고 crontab에 의해 호출되는 스크립트 내의 모든 구성을 처리합니다.
1) 쉘 스크립트를 작성 : 예 /var/webapp/.env/bin 가 VIRTUALENV 위치입니다
#!/bin/sh
PATH="/var/webapp/.env/bin:$PATH"
export PATH
cd /var/webapp/
python test.py
을 /var/webapp/cron.sh 위해. PATH를 설정하면 소스를 실행할 필요가 없습니다 ./activate
2) 환경을 올바르게 설정하십시오. 예를 들어, 장고 응용 프로그램 :
#!/usr/bin/env python
import os
from datetime import datetime
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings.production'
os.environ['DJANGO_CONF'] = 'settings.production'
from util.models import Schedule
dset = Schedule.objects.all()
for rec in dset:
print rec
print 'cron executed %s' % datetime.today()
이 예에서 장고 설정은 설정/production.py
3) 마지막으로, 편집은/etc/crontab을에 있습니다. 예를 들어 30 시간마다 매일 실행하려면 :
오류 또는 디버그 메시지를 찾는 데 도움이되는 로그를 생성하는 것이 중요합니다.
- 1. HTML로 된 Python 스크립트
- 2. "python"을 먼저 입력하지 않고 명령 줄에서 python 스크립트 호출
- 3. WCFStorm은 JSON이 활성화 된 WCF 서비스를 호출 할 수 있습니까?
- 4. 방법을 활성화 자바 스크립트
- 5. BrowserBack에서 호출 된 등록 된 경고 스크립트
- 6. crontab에서 python을 실행하는 데 문제가 있습니다 - "Python 설치가 잘못되었습니다"
- 7. crontab에서 컬러 이메일을받는 방법?
- 8. Crontab에서 레이크 작업을 하시겠습니까?
- 9. % 어떻게 crontab에서 특별합니까?
- 10. Android에서 Python 스크립트 실행
- 11. + python이 활성화 된 경우에만 플러그인을로드하십시오.
- 12. jqGrid를 사용하여 활성화 된 검색으로 페이지를 호출 하시겠습니까?
- 13. ajax 호출을 통해 호출 된 jquery 스크립트
- 14. ASP.NET (AJAX가 활성화 된)
- 15. sifr이 활성화 된 h2
- 16. GNU 병렬을 사용하는 동안 bash 스크립트에서 python 스크립트 호출
- 17. 동적 호출 함수 - Python
- 18. python - 재귀 호출
- 19. 다른 결과가 Crontab에서 실행되었을 때
- 20. Perl 스크립트가 crontab에서 작동하지 않습니다.
- 21. python 스크립트에서 EDITOR (vim) 호출
- 22. 플렉스에서 자바 스크립트 호출
- 23. Perl 스크립트에서 Python 스크립트 실행하기
- 24. Python 스크립트에서 매크로를 호출 하시겠습니까?
- 25. Python : 안전하게 스크립트 컴파일하기?
- 26. CSS를 축소하기위한 Python 스크립트?
- 27. Python 로그인 스크립트
- 28. rc.local 및 python 스크립트
- 29. Plone 및 Python 스크립트
- 30. 버튼 클릭시 스크립트 호출
easy_install 라이브러리의 경로는 어떻게됩니까? – Timmy
가상 환경이나 "글로벌"site-packages 디렉토리에 설치되어 있으면 해당 디렉토리를 찾아야합니다. 그렇지 않으면, 당신은'$ PYTHONPATH'에 넣어야 할 것이고, 약간 더 엉성 해지지 만'/ usr/bin/env' 또는 그와 비슷한 것으로 파이썬 빈을 실행함으로써 완성 될 수 있습니다. – mipadi
마지막 코드 블록은 "/ home/bin/cronjob"으로 끝나야합니다. –