Programing

crontab을 통해 Python 스크립트 실행

crosscheck 2020. 10. 7. 07:22
반응형

crontab을 통해 Python 스크립트 실행


linux crontab을 사용하여 파이썬 스크립트를 실행하려고하는데 많은 솔루션을 찾았지만 작동하지 않습니다. 예 : /etc/cron.d에서 anacron을 편집하거나 crontab -e를 사용하십시오.

이 스크립트를 10 분마다 실행하고 싶습니다.

이를 구성하려면 어떤 파일을 편집해야합니까?

미리 감사드립니다

편집하다

이 줄을 파일 끝에 넣었지만 아무것도 변경하지 않습니다. 서비스를 다시 시작해야합니까?

*/2 * * * * /usr/bin/python /home/souza/Documets/Listener/listener.py

편집 [2]

여러분, 저는 소스 코드를 따랐습니다. 여기에 문제가있을 수 있지만 수동으로 실행하면 작동합니다.

http://pastebin.com/qsWHNzqT


crontab -e를 사용하고 여기에서 자습서를 따르십시오.

http://adminschoice.com/crontab-quick-reference

빈도를 지정하는 방법에 대한 지침은 3 번 지점을 참조하십시오.

요구 사항에 따라 효과적으로 다음과 같아야합니다.

*/10 * * * * /usr/bin/python script.py

다음으로 foo.py시작 하는 파일에 스크립트를 넣으십시오.

#!/usr/bin/python

그런 다음 사용하여 해당 스크립트에 실행 권한을 부여하십시오.

chmod a+x foo.py

foo.py파일 의 전체 경로를 crontab.

shebang을 처리하는 execve (2)의 문서를 참조하십시오.


언급했듯이 아무것도 변경하지 않습니다 .

먼저 아래와 같이 crontab 실행에서 stdin과 stderr을 모두 리디렉션해야합니다.

*/2 * * * * /usr/bin/python /home/souza/Documets/Listener/listener.py > /tmp/listener.log 2>&1

그런 다음 파일 /tmp/listener.log을보고 스크립트가 예상대로 실행되었는지 확인할 수 있습니다.

둘째, 프로그램에서 만든 파일을 보는 것이 무엇이든 변경 한다는 의미를 추측 하십시오.

f = file('counter', 'r+w')
json_file = file('json_file_create_server.json','r+w')

위의 crontab 작업 /home/souza/Documets/Listener은 cron 작업이이 디렉토리에서 실행되지 않고 프로그램에서 상대 경로를 사용하므로 디렉토리에 이러한 파일을 생성 하지 않습니다. 따라서 디렉토리에 이러한 파일을 생성 /home/souza/Documets/Listener하려면 다음 cron 작업이 트릭을 수행합니다.

*/2 * * * * cd /home/souza/Documets/Listener && /usr/bin/python listener.py > /tmp/listener.log 2>&1

작업 디렉토리로 변경하고 거기에서 스크립트를 실행하면 그 자리에서 생성 된 파일을 볼 수 있습니다.

참고 URL : https://stackoverflow.com/questions/8727935/execute-python-script-via-crontab

반응형