crontab -e는 내 Python 스크립트를 실행 중이지만 스크립트 결과를 내 홈 디렉터리에 저장합니다.

crontab -e는 내 Python 스크립트를 실행 중이지만 스크립트 결과를 내 홈 디렉터리에 저장합니다.

일부 XML 파일에서 데이터를 가져와 웹 사이트에 표시하는 Python 스크립트가 있습니다. 스크립트가 실행될 때마다 index.html 파일을 덮어쓰고 HTML 템플릿의 일부 텍스트를 일부 변수에 저장된 데이터로 바꿉니다. 스크립트가 잘 작동합니다.

매 시간마다 실행되도록 crontab에 명령을 입력하면 작동합니다. 그런데 새로 업데이트된 index.html 파일을 홈 디렉터리에 저장하는데 저는 /var/www/html/에 저장하고 싶습니다. Python 스크립트는 동일한 위치에서 실행됩니다.

crontab에서 스크립트를 실행하고 스크립트에서 생성된 index.html 파일을 올바른 위치에 저장하는 방법이 있습니까? (/var/www/html)

이것은 내가 crontab에 넣은 명령입니다.

0 * * * * python /var/www/html/boinc.py

감사해요

답변1

항상 주의해야 할 특징 cron. 많은 사람들은 그것이 사용자에게 속하기 때문에 사용자로부터 상속을 받는다고 crontab생각 합니다.cron환경대화형 쉘에서. 그러나 그것은 작동하는 방식이 아닙니다.

만약 당신이 적이 있다면궁금한작업을 실행하는 데 사용되는 환경과 관련하여 cron다음 crontab과 같은 간단한 작업을 생성하면 cron해당 환경이 무엇인지 알려줍니다.

* * * * * /usr/bin/printenv > /home/me/mycronenv.txt 2>&1

답을 얻은 후 crontab과제를 다시 편집하여 과제를 중단할 수 있습니다. :)

답변2

스크립트의 위치는 실행과 관련이 없습니다. 작업이 실행되면 cron현재 디렉터리가 사용자의 홈 디렉터리로 설정됩니다.

작업 디렉터리를 직접 설정하거나 스크립트를 수정하여 올바른 위치에 써야 합니다.

관련 정보