![가상 환경에서 패키지가 포함된 Python 스크립트 cron 작업을 예약하는 방법은 무엇입니까?](https://linux55.com/image/157435/%EA%B0%80%EC%83%81%20%ED%99%98%EA%B2%BD%EC%97%90%EC%84%9C%20%ED%8C%A8%ED%82%A4%EC%A7%80%EA%B0%80%20%ED%8F%AC%ED%95%A8%EB%90%9C%20Python%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%20cron%20%EC%9E%91%EC%97%85%EC%9D%84%20%EC%98%88%EC%95%BD%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
필요한 모든 패키지를 설치한 환경이 있습니다. crontab에 넣고 싶은 스크립트가 있습니다. 내가 한 일이지만 crontab이 내 스크립트를 실행할 때 문제가 있습니다. 물론 패키지가 내 환경에만 있기 때문에 누락된 패키지로 인해 스크립트가 실행되지 않습니다.
따라서 첫 번째 해결책은 호스트에 모든 패키지를 설치하는 것입니다(하지만 그렇게 하고 싶지는 않습니다).
내 crontab은 다음과 같습니다.
* * * * * /path/script.py
script.py에는#!/usr/bin/python3.6
어떻게든 내 환경과 필요한 모든 패키지를 내 crontab에 포함해야 합니다.
어떤 아이디어가 있나요?
답변1
나는 스크립트를 만들었습니다 cron_script.sh
:
#!/bin/bash
source /path/to/env/bin/activate
cd /path/to/script/
python3.6 script.py
deactivate
내 일정:
* * * * * /path/to/cron_script.sh