일부 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
현재 디렉터리가 사용자의 홈 디렉터리로 설정됩니다.
작업 디렉터리를 직접 설정하거나 스크립트를 수정하여 올바른 위치에 써야 합니다.